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

Teil 1 – Speichern der Datei aus dem Internet

Damit wir überhaupt auf die Möglichkeiten von “R” zurückgreifen können, muss zuerst die Umgebung von  Power BI Desktop entsprechend eingerichtet werden. Microsoft hat dazu schon einige Artikel veröffentlicht, welche ihr hier und hier findet.

Datenabrufen

Als Erstes greifen wir über “Daten abrufen” auf “R Skript” zu.R abrufen

Im neu erschienen Dialogfeld geben wir folgenden Code ein:

{
URL=”https://www.six-swiss-exchange.com/shares/companies/download/issuers_all_en.csv”

Destination =”C:/PowerBI/Securities/Part1.csv”
download.file(URL, destfile = Destination, method = “auto”, quiet=FALSE)

# Read CSV into R
MyData <- read.csv(file=Destination, header=TRUE, sep=”;”)
}

Was bedeutet der Code?

URL:
”URL” definiert die gesuchte .csv Datei im Internet. Es handelt sich hier um die Liste aller in der Schweiz kotierten Unternehmungen. Die Datei ist öffentlich abrufbar.

Destination:
Mit “Destination” wird der Speicherort und der Name der Datei festgelegt. Ich habe dazu einen eigenen Ordner Namens “PowerBI” mit dem Unterordner “Securities” erstellt.

download.file:
Das ist der erste “R” Befehl. Wir verwenden folgende Argumente:
URL = Adresse des Quelldatei
destfile = Speicherort der Datei
method = Methode des Downloads. Wir verwenden “auto”
quiet = “TRUE” unterdrückt allfällige Meldungen, “False” nicht. Wir verwenden “FALSE”.

Die restlichen Argumente mode, cacheOK und extra werden in unserem Beispiel nicht verwendet. Wer mehr dazu lesen möchte , finden bei der ETH Zürich unter diesem Link weitere Informationen.

# Read CSV into R
Mit “#” werden in “R” Kommentierungen markiert.

MyData <-
Mit dem String “<-“ werden in “R” Variablen deklariert.

read.csv
Liest die abgespeicherte Datei wieder in den Power BI Desktop ein. Wir verwenden die Argumente
file = Speicherort der Datei – hier analog oben “Destination”,
header = Hat die CSV Datei Kopfzeilen oder nicht – wir verwenden TRUE
sep = kennzeichnet das Separierungszeichen in der Datei – wir verwenden “;”

Nächste Schritte

Nach erfolgter Eingabe erscheint das Vorschaufenster. Wir klicken “MyData” an und bestätigen.

image

Power BI nimmt uns den letzten Schritt automatisch ab und wir haben eine vollständige Tabelle, die wir nach Bedarf noch formatieren können.

image

Und hier beginnt die Magie

So weit so gut. Aber das Ganze wäre ja auch über den Direktimport der csv-Datei realisierbar gewesen. Schauen wir uns daher den Ordner “Power BI\Securities” an. Und… voilà. Die csv-Datei ist gespeichert.

image

Aktualisiert ihr nun die Abfrage in Power BI Desktop, so ist auch die Datei wieder abgespeichert.

image

Schlussfolgerung

Mit der vorgestellten Methode ist das Speichern von Internetdateien mit Power BI Desktop jederzeit möglich. In gleicher Weise ist es möglich, sich so ein kleines Data Warehouse zu erstellen, Daten inkrementell zu laden und vieles andere mehr.

Was kommt als nächstes?

Im nächsten Beitrag werden wir die Methode noch weiter verbessern und gleichzeitig dynamischer machen.
Mehr Artikel über Power Query findet Ihr im Power Query Online Buch.

Happy Quering!