Power Query-Abfragen in Base64-String konvertieren

Im letzten Beitrag haben wir Power Query “Daten eingeben” erklärt. Hier werden die eingegeben Daten als Base64-String gespeichert und in der Power Query-Abfrage als Tabelle konvertiert. In diesem Betrag möchten wir den umgekehrten Weg gehen und Abfrage-Daten in einen Base64-String konvertieren, um diese ggf. als statische Daten in einer anderen Abfrage zu nutzen.

Als Datenquelle verwenden wir in diesem Beispiel eine Excel-Datei, in der wir die bereits aus dem vorherigen Beitrag bekannte Datentabelle erstellt haben.

Datenquelle für Base64-String Konvertierung

Die Tabelle wird über den Excel Connector als Power Query-Abfrage geladen und kann von hier aus weiter transformiert werden.

Power Query Datenimport für Base64-String Konvertierung

Im ersten Schritt, konvertieren wir die Tabelle mit der Funktion Table.ToRows in eine Liste verschachtelter Listen. Jedes Listenelement ist eine innere Liste, die die Zeilenwerte enthält.

Power Query Table.ToRows für Base64-String Konvertierung

Mit der Funktion Json.FromValue, wird aus der Liste ein JSON-Dokument erzeugt.

Power Query Json.FromValue für Base64-String Konvertierung

Im folgenden Schritt wird mit der Funktion Binary.Compress das JSON-Dokument komprimiert. In diesem Fall wird der Komprimierungstyp Deflate verwendet.

Power Binary.Compress für Base64-String Konvertierung

Der letzte Schritt ist die Funktion Binary.ToText. Hier wird durch die Angabe der Base64-Codierung BinaryEncoding.Base64 ein Base64-codierter String zurückgegeben.

Power Binary.ToText für Base64-String Konvertierung

Wer den Beitrag Power Query “Daten eingeben” erklärt aufmerksam gelesen hat, wird den Base64-codierten String wiedererkennen. Mit dieser Technik können Sie zum Beispiel eine statische Länderkürzel Liste in Power Query laden und diese für die Anzeige von Länderkürzel auf einer Power BI Karte nutzen.

Weitere Ideen oder Fragen? Dann hinterlassen Sie doch einen entsprechenden Kommentar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.