Exceldaten aus dem Internet importieren

Obwohl es auf den ersten Blick einfach und intuitiv scheint, bietet der Download von Exceldaten aus dem Internet in Power Query eine Überraschung an. Ich zeige Euch in diesem Beitrag Schritt für Schritt auf, wie Ihr Exceldaten aus dem Internet importieren könnt und dabei die Überraschung vermeidet. „Exceldaten aus dem Internet importieren“ weiterlesen

Iterating over an unknown number of pages in Power Query – avoid endless loops

The topic of Iterating over an unknown number of pages in Power Query has been covered many times. The first one I know was Matt Masson, who used the technique of a pre-generated list of page numbers (PageRange = {1..10000}).

This technique works well but may result in a long query execution time or could even run in a time-out by hitting the throttling limit on certain pages.

Omri Avissar came up with a new solution. Its benefit is shorter execution time and a reduced chance to run in a time-out. A great solution!

…Infinite loops

But yesterday I had to learn that this solution doesn’t work on every page. I wrote a query to pull data from the Power BI Kudos Leaderboard (1 Day). The leaderboard spans over only 2 pages and 5’000 rows of HTML Code. The query was incredible slow!

After some testing and reverse engineering, I found out, that the page redirects to the last page, if the page number is greater than the number of the last page.
Calling
http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/3
was redirected to
http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/2).

The next call was page number 4, then 5 etc. Every time the result was the data of page number 2. An infinite loop! Thanks for that Microsoft 😉

Solution

So, I had to figure out a technique to compare the sent url with the received url. Fortunately, the site provides the url in the HTML Code in Row 13:

<meta content="Data shaping, modeling, and report building in the Power BI Desktop app." name="description"/><meta content="noindex" name="robots"/><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><link href="http://community.powerbi.com/t5/kudos/leaderboardpage/board-id/power-bi-designer/timerange/one_day/tab/authors/page/2" rel="canonical"/>

By using the brand-new Power Query command „Text.BetweenDelimiters“ I could get the desired information out of the HTML Code:

Function_fnGetHTML

The function receives the url and the page number as input and calls the web page. As the page doesn’t provide any usable tables (………….), I had to import the HTML code, look for the desired line of code and compare the result with the original url. If it’s a match, the function gives back the whole HTML Code for further cleaning or otherwise the result is „false“.

All I had to do is to write a Query which uses the function.

Query_Desktop_24Hours

I adjusted the technique of Omri Avissar and boom, there you are. With a little function, I was able to retrieve the data in short time.

Happy Querying!

Daten aus CSV und TXT Dateien importieren

Daten aus csv und txt Dateien importieren ist, ähnlich dem Datenimport aus Excel, sehr einfach und innert kurzer Zeit erledigt.

Als Erstes wird der Dialog „Daten abrufen“ aufgerufen und danach „Text/CSV“ gewählt. Der Dialog funktioniert für beide Dateitypen genau gleich.

csvDialog

Es erscheint als nächstes der Importdialog, in welchem die gewünschte Datei anzuwählen ist.csvDateiöffnen

Nach der Bestätigung durch „Öffnen“ werden die Daten in die Vorschau geladen. Die Dateiattribute wie „Trennzeichen“ und „Dateiursprung“ werden automatisch festgelegt. In der Regel ist der Wert des Attributs Dateiursprung gleich „1252: Westeuropäisch (Windows)“. Bei Bedarf können diese Werte auch über die entsprechenden Auswahlfelder angepasst werden.

csv_VorschauDie restlichen Schritte erfolgen wie bereits bei den anderen Datenquellen gesehen. Das ist bereits alles.

Der automatisch erstellt „M“-Code für die Tabelle “Financial Sample” sieht wie folgt aus:

M Code csv Import

Der Code wurde mit Lars Schreiber’s Notepad++ Script Editor erstellt: http://ssbi-blog.de/technical-topics-english/power-query-editor-using-notepad/

Mehr Artikel über Power Query findet Ihr im Power Query Online Buch.

Happy Querying!

Daten aus Access importieren

Der Datenimport aus Access ist in wenigen Mausklicks erstellt.

PBI Daten aus Access

Die nächsten Schritte ähneln dem Import von Exceldaten. Es erscheint der Importdialog, wo die gewünschte Accessdatei anzuwählen ist.

Importdialog Access

Nach der Bestätigung durch „Öffnen“ werden die vorhandenen Tabellen und Arbeitsblätter angezeigt. Sobald eine Tabelle aktiviert ist, erscheint rechts wiederum eine Datenvorschau.

Importnavigator Access

Beim Import von Datenbanken können in diesem Editor auch gleich alle zusammenhängenden, verknüpften, Tabellen mitausgewählt werden. Power Query, respektive in diesem Fall Power BI Desktop, erkennt automatisch alle zusammenhängenden Tabellen und wählt diese selbständig aus.

Importnavigator verknüpfte Tabellen Access

Die restlichen Schritte erfolgen wie bereits bei den anderen Datenquellen gesehen.

Der automatisch erstellt „M“-Code für die Tabelle “HumanResources_Employee” sieht wie folgt aus:

image

Der Code wurde mit Lars Schreiber’s Notepad++ Script Editor erstellt: http://ssbi-blog.de/technical-topics-english/power-query-editor-using-notepad/

image

Mehr Artikel über Power Query findet Ihr im Power Query Online Buch.

Happy Querying!

Dateien kombinieren

Dateien kombinieren geht ganz einfach mit Power Query. Dies hilft die Fehleranfälligkeit von Datenimporten zu minimieren und entlastet uns Monat für Monat von Routinearbeiten. In diesem Beitrag zeige ich, wie Ihr dieses Feature für Euch nutzen könnt. Prinzipiell kann diese Lösung sowohl in Excel als auch im Power BI Desktop angewendet werden. „Dateien kombinieren“ weiterlesen

dynamisches Speichern von Internetdateien mit Power BI Desktop

Nachdem ich Euch im Beitrag Speichern von Internetdateien mit Power BI Desktop – Teil 1 gezeigt habe, wie Ihr unter Zuhilfenahme von R ganz einfach Dateien runterladen und speichern könnt, werde ich Euch in diesem Teil zeigen, wie ihr dies auch dynamisch erledigen könnt. „dynamisches Speichern von Internetdateien mit Power BI Desktop“ weiterlesen

Speichern von Internetdateien mit Power BI Desktop

Das Speichern von Internetdateien mit Power BI Desktop war bis dato nicht einfach realisierbar. Natürlich gibt es Workarounds mit Power Shell, aber nicht alle User sind damit vertraut. Power BI wird zum Glück immer weiter entwickelt und es hört nicht auf. Mit der Integration von „R“ wurden die Möglichkeiten enorm erweitert. In dieser Beitragsserie könnt ihr sehen, wie eine .csv Datei aus dem Internet heruntergeladen und gespeichert werden kann.

Die Serie umfasst folgende Beiträge:
– Erster Teil – Speichern der Internet Datei mit Power BI Desktop
– Zweiter Teil – dynamischer Download der Internet Datei mit Power BI Desktop

„Speichern von Internetdateien mit Power BI Desktop“ weiterlesen