This post is also available in: English

Gelegentlich sieht man als Power BI Entwickler mit der Aufgabe konfrontiert, die Datenbasis bei bestehenden Reports gegen ein veröffentlichtes Power BI Datenset auszutauschen. Insbesondere wenn es bereits mehrere Reports gibt, welche mit einer Kopie einer PBIX Datei erstellt wurden und nun auf dieselbe Datenbasis konsolidiert werden sollen.

Hier stellt sich die Frage, wie man am besten vorgeht, um das Ziel möglichst effizient zu erreichen.

Löschen der alten Daten

In der Vergangenheit hatte ich schon viele Ansätze ausprobiert, aber der einfachste ist der weitaus Effizienteste. Ich möchte dies am Beispiel meiner Impfstatistik demonstrieren, bei der ich für die englische Version auf das Dataset des deutschen Reports zugreife. Die Visualisierung möchte ich als Grundlage allerdings vom Originalreport übernehmen.

Im ersten Schritt müssen

This post is also available in: English

Bereits letzte Woche haben wir uns mit der Thematik der korrekten Berechnung der ISO Kalenderwoche in DAX beschäftigt. Da die Frage aufkam, wie man dies in Power Query lösen könnte, werde ich diese Woche darauf eingehen. Für die Problemstellung der Kalenderwochen möchte ich auf den Post von letzter Woche verweisen.

Berechnung der US-Kalenderwoche mit Date.WeekOfYear Funktion

Wie auch in DAX gibt es auch in Power Query bereits eine Funktion zur Berechnung der Kalenderwoche. Diese lautet Date.WeekOfYear und gibt das US-Format mit Wochenstart am Sonntag zurück. Mit optionalem Parameter wird die Kalenderwoche mit Wochenstart an einem

This post is also available in: English

Wer ein Datum bzw. Datetime-Format im UNIX-Format erhält, der wundert sich zuerst, was es damit auf sich hat bzw. wie man das denn “normal” darstellen kann. Denn das UNIX-Datumsformat sieht folgendermaßen aus:

1604135115

Was genau ist UNIX Timestamp?

Um eine Lösung zu finden, wie wir das umwandeln können, müssen wir zuerst ein Mal verstehen, was die Zahl bedeutet. Der UNIX-Timestamp ist die Anzahl Sekunden seit dem 01. Januar 1970. Wieso das genau so ist, kann man im Wikipedia Artikel nachlesen. Ich möchte mich auf die Lösung des Problems fokussieren.

In dem oben genannten Beispiel sind

This post is also available in: English

In meinem ersten Blog-Post habe ich kurz erwähnt, dass mein digitales Notizbuch – in form von OneNote – gut gefüllt ist mit jede Menge Notizen und Ansätzen, die ich hier im Blog teilen möchte.

Eine Kategorie sind DAX- und M-Codeschnipsel, welche ich regelmässig verwende. Beispielsweise das Erstellen einer Datums- oder Zeit-Tabelle oder die Erstellung von ID Spalten aus einem Datum und ähnliches. Einfach Ansätze, die man immer wieder benötigt und jedes mal ein bisschen Kopfzerbrechen bereitet, wenn man sich diese wieder überlegen muss.

Daher bin ich zu der Entscheidung gekommen, dass ich diese hier ebenfalls auf dem Blog teile. Hierzu habe ich eine eigene Seite mit allen Snippets angelegt.
Update vom 15.07.2021: Da es unübersichtlich wurde, werde ich die

This post is also available in: English

Wenn man mehrere Tabellen miteinander kombinieren möchte, dann stellt sich die Frage, ob man dies bereits in der Datenquelle wie dem SQL Server, in der Aufbereitung der Daten (ETL) in Power Query oder in Power BI machen sollte und vor allem wo genau die Unterschiede liegen.

Vorneweg, der Post ist relativ ausführlich, für alle, denen er zu lang (tl;dr) ist hier schon mal die Vergleichstabelle:

Doppelte einträge bleiben erhaltenDoppelte Einträge werden entferntUngleiche Anzahl SpaltenAbweichende SpaltennamenUngleiche Reihenfolge der SpaltenKombinieren von mehr als 2 Tabellen
UNION in SQL ServerMit UNION ALLMit UNIONxx
APPEND in Power QueryxMit “Remove duplicates” möglichxxx
UNION in DAXxMit “DISTINCT” möglichxx
Übersicht der verschiedenen Kombinationsmöglichkeiten

Datentransformation in der Datenquelle oder im Frontend?

Eine Frage, die sich gleich zu Beginn stellt, ist, wo soll das Kombinieren der Tabellen stattfinden?

This post is also available in: English

Was erstmal kompliziert und wenig sinnvoll klingt, ist in der Praxis immer mal wieder anzutreffen. Vor kurzem stellte mich der automatisierte Export von Quelldaten eines anderen Programms im CSV-Format vor diese Aufgabe.

Täglicher Ordner für automatisierten Export

Leider ließ sich beim Export aus dem Quellsystem – abgesehen vom Zielverzeichnis – herzlich wenig einstellen. Die Folge ist, dass der automatisierte Export-Job täglich einen neuen Ordner mit dem aktuellem Datum erstellt, analog zu dem folgenden Beispiel:

In diesem Beispiel müssen lediglich die Dateien aus dem neusten Ordner geladen werden, da dieser jeweils die vollständigen Daten enthält. Allerdings ändern sich auch die Dateinamen mit dem täglichen Export. Die Struktur lässt sich