Laden von Websitedaten in Power BI Service ohne Verwendung eines Gateways

This post is also available in: EnglishEnglish

Oftmals erstelle ich in Power BI Desktop einen Bericht mit Daten von einer Website. Angenommen, wir erstellen einen Bericht und laden die Bevölkerung nach Land von der Wikipedia-Seite. Die Daten werden in Power Query aus dem Internet geladen, und irgendwann wird der Bericht im Power BI Service veröffentlicht.

Option zur zeitlich geplanten Aktualisierung ist deaktiviert

Nach der Veröffentlichung des Berichts möchte ich den Bericht aktualisieren. Aber wenn ich die Aktualisierung planen will, sehen die Einstellungen folgendermaßen aus:

00 power bi service refresh dataset grayed out

Warum ist der Abschnitt “Scheduled Refresh” ausgegraut? Ich sehe keinen Grund, warum das so sein sollte.
Aber an einer Stelle gibt es einen kleinen Anhaltspunkt. Beim Versuch, die Daten manuell zu aktualisieren, wird ein Fehler angezeigt:

01 hint after refresh

Wenn beim Klick darauf, werden die Details angezeigt:

02 gateway is installed

Fehlermeldung erwähnt Gateway

Die Fehlermeldung ist etwas verwirrend: Warum beklagt sich Power BI über ein Gateway? Wir laden aus der Cloud (Wikipedia) direkt in die Cloud (Power BI Service). Es macht an dieser Stelle absolut keinen Sinn, ein Gateway zu verwenden.
Standardmäßig wird zum Laden einer Website in Power Query die Funktion Web.BrowserContents verwendet. In der offiziellen Dokumentation zu dieser Funktion wird nicht erwähnt, warum ein Gateway erforderlich sein sollte. Es wird lediglich erwähnt, dass der Zugriff auf die Website “wie von einem Webbrowser angezeigt” erfolgt. Ich vermute, dass die HTML-Seite von der lokal installierten Browser-Engine geöffnet wird. Und dafür ist ein lokaler Server erforderlich, da der Power BI-Dienst sie nicht mit einer Browser-Engine öffnen kann. Aber wie gesagt, das ist nur meine Vermutung. Falls hier jemand mehr weiß, dann bitte schreibt das in die Kommentare.

Fix mit Web.Contents Funktion

Die eigentliche Frage ist: Wie können wir das lösen? Und das geht erstaunlich einfach. Anstelle der Funktion Web.BrowserContents können wir die Funktion Web.Contents verwenden und die Website wird ohne Gateway geladen.

Hierfür genügt es, die Funktion direkt im Power Query-Code zu ändern:

Nach der Änderung zur Funktion Web.Contents wird Power BI problemlos ohne Gateway laden.
Nach der Änderung zur Funktion Web.Contents wird Power BI problemlos ohne Gateway laden.

Danach wird die Optionen für den Refresh angezeigt, und auch wenn Sie einen Refresh auslösen, wird es reibungslos funktionieren:

Die Option für eine geplante Aktualisierung ist wieder verfügbar
Die Option für eine geplante Aktualisierung ist wieder verfügbar
Manuell ausgelöst, wird das Dataset aktualisiert
Manuell ausgelöst, wird das Dataset aktualisiert
Denis Selimovic

Denis Selimovic

Als Anwender der ersten Stunde ist Denis Selimovic von Power BI und allem, was damit zusammenhängt, begeistert. In seinem Blog WhatTheFact.bi schreibt er über die neuesten Entwicklungen in Power BI und gibt Tipps und Tricks zu diesem Thema. Neben seiner Tätigkeit als Power BI-Enthusiast, Blog-Autor, Speaker und Principal Consultant ist er auch Mitorganisator der Meetup Power BI User Group Switzerland.

Kommentare:

0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
%d bloggers like this: