Measure Archive | THE SELF-SERVICE-BI BLOG Wir lieben Microsoft Power BI Mon, 14 Apr 2025 07:37:56 +0000 de hourly 1 https://wordpress.org/?v=6.8.1 https://ssbi-blog.de/wp-content/uploads/2019/10/Favicon-150x150.png Measure Archive | THE SELF-SERVICE-BI BLOG 32 32 Den Daten- und Aktualisierungsstand in Power BI immer im Blick https://ssbi-blog.de/blog/business-topics/den-daten-und-aktualisierungsstand-mit-power-bi-immer-im-blick/ https://ssbi-blog.de/blog/business-topics/den-daten-und-aktualisierungsstand-mit-power-bi-immer-im-blick/#comments Mon, 21 Aug 2017 17:30:36 +0000 http://ssbi-blog.de/?p=2004 Noch bevor ich mich mit den Inhalten eines Dashboards beschäftige, stellen sich mir zwei Fragen: 1. Wann wurde das Dashboard zuletzt aktualisiert und 2. welchen Zeitraum decken die im Datenmodell enthaltenen Daten ab? Warum die Beantwortung dieser beiden Fragen für jeden Nutzer eines Dashboards wichtig ist und wie ich den Daten- und Aktualisierungsstand in Power BI […]

Der Beitrag Den Daten- und Aktualisierungsstand in Power BI immer im Blick erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>
Noch bevor ich mich mit den Inhalten eines Dashboards beschäftige, stellen sich mir zwei Fragen: 1. Wann wurde das Dashboard zuletzt aktualisiert und 2. welchen Zeitraum decken die im Datenmodell enthaltenen Daten ab? Warum die Beantwortung dieser beiden Fragen für jeden Nutzer eines Dashboards wichtig ist und wie ich den Daten- und Aktualisierungsstand in Power BI immer im Blick habe, erkläre ich in diesem Beitrag.

Als Abonnent meines Newsletters erhältst Du die Beispieldateien zu den Beiträgen dazu. Hier geht’s zum Abonnement des Newsletters!

Warum der Aktualisierungszeitpunkt wichtig ist

„Sag mal, weißt Du wann das Dashboard zuletzt aktualisiert wurde? Ich bin mir nicht sicher, ob die Daten schon aktuell sind!“ Diese Frage sollte kein Nutzer eines Dashboards stellen müssen. Es ist wichtig, dass noch vor der Analyse der visualisierten Daten klar ist, dass die Daten aktuell sind.

Warum der Datenstand wichtig ist

Unabhängig von der letzten Aktualisierung des Dashboards, kann es sein, dass die Datenquelle, auf der mein Dashboard beruht, noch nicht aktuell ist. Viele Dashboards, die ich gesehen habe, basieren auf Exceltabellen, die teilweise manuell befüllt werden. Hier kann es immer sein, dass ich versehentlich Altdaten importiere, weil die neuen Daten in der Exceldatei noch nicht gepflegt wurden.

So hast du den Aktualisierungszeitpunkt immer im Blick

Den Aktualisierungsstand der Power BI Desktop-Datei im Blick zu haben, bedeutet zu wissen, wann zuletzt der Aktualisieren-Knopf gedrückt wurde:

Wann wurde zuletzt auf Aktualisieren gedrückt? Power BI Desktop, Power Pivot
Wann wurde zuletzt auf »Aktualisieren« gedrückt?

Ich zeige Dir jetzt eine Möglichkeit, sich diesen Zeitpunkt der Datenaktualisierung zu merken.

Den Aktualisierungszeitpunkt über eine Abfrage ermitteln

Wenn der Aktualisieren-Knopf gedrückt wird, werden vor dem Refresh des Datenmodells alle Abfragen (Power Query) aktualisiert. Diesen Umstand kann ich nutzen und erstelle eine entsprechende Abfrage, die sich den Aktualisierungszeitpunkt merkt.  Ich füge folgende M-Formel in eine leere Abfrage ein und vergebe einen sprechenden Namen, in meinem Falle LetzteAktualisierung:

DateTime.LocalNow() speichert den Zeitpunkt der letzten Aktualisierung in einer Abfrage, Power Query, Power BI Desktop
DateTime.LocalNow() speichert den Zeitpunkt der letzten Aktualisierung in einer Abfrage

Dies hat zur Folge, dass dem Datenmodell eine weitere Tabelle LetzteAktualisierung hinzugefügt wird. Diese Tabelle beinhaltet eine einzige Spalte mit einem einzigen Wert: Dem letzten Aktualisierungszeitpunkt 🙂

Den gespeicherten Aktualisierungszeitpunkt im Datenmodell betrachten, Power BI Desktop
Den gespeicherten Aktualisierungszeitpunkt im Datenmodell betrachten

Wichtig ist hierbei, dass diese Tabelle als sogenannte disconnected Table, also ohne jede Verknüpfung im Datenmodell existiert:

Der Aktualisierungszeitpunkt in einer nicht verknüpften Tabelle im Datenmodell, disconnected Table, parameter table, Power BI Desktop
Der Aktualisierungszeitpunkt in einer nicht verknüpften Tabelle im Datenmodell

Zu diesem Zeitpunkt habe ich den letzten Aktualisierungszeitpunkt in einer Tabelle gespeichert. Nun möchte ich diesen in meinem Dashboard für den Endnutzer ausgeben.

Den gespeicherten Aktualisierungszeitpunkt im Dashboard ausweisen

Damit der Endnutzer auf den ersten Blick nachvollziehen kann, wann das Dashboard zuletzt aktualisiert wurde, muss diese Information in das Dashboard integriert werden. Hierfür schreibe ich ein DAX-Measure, welches mich die Information in eine Zeichenkette integrieren und zudem das Format des Aktualisierungszeitpunktes beeinflussen lässt:

Aktualisierungszeitpunkt =
„letzte Aktualisierung: „
FORMAT ( VALUES ( LetzteAktualisierung[LetzteAktualisierung] )„DD.MM.YYYY hh:mm“ )

Im Dashboard sieht das ganze dann wie folgt aus:

Der über M ermittelte Aktualisierungszeitpunkt im Dashboard, Power Query, Power BI Desktop
Der über M ermittelte Aktualisierungszeitpunkt im Dashboard

Mit jeder Aktualisierung des Datenmodells wird auch diese Information auf den neuesten Stand gebracht.

Den Aktualisierungszeitpunkt einfrieren

Manchmal ist es wünschenswert, trotz Aktualisierung den ausgewiesenen Aktualisierungszeitpunkt nicht zu verändern. Wenn ich beispielsweise der Entwickler des Datenmodells bin und technische Änderungen im Importprozess durchführen und testen muss, dann kann es sein, dass ich den ausgewiesenen Aktualisierungszeitpunkt auf dem alten Stand belassen möchte. Dies ist relativ einfach möglich, indem ich die entsprechende Abfrage von der Berichtsaktualisierung ausnehme:

Eine Abfrage aus der Berichtsaktualisierung ausnehmen/ einbeziehen, Power Query, Power BI Desktop
Eine Abfrage aus der Berichtsaktualisierung ausnehmen/ einbeziehen

Auf diese Weise kann ich Aktualisierungen vornehmen, ohne dass sich der ausgewiesenen Zeitpunkt ändert. Ich sollte dann vor dem Veröffentlichen der PBIX-Datei diesen Zustand wieder zurücksetzen, damit bei der nächsten Aktualisierung der Zeitpunkt wieder aktuell ist.

So hast du den Datenstand immer im Blick

Die Datenstände lassen sich den Faktentabellen entnehmen, also jenen Tabellen, die die Bewegungsdaten beinhalten. Wenn in einer Faktentabelle, die die Umsätze eines Unternehmens beinhaltet, der letzte Eintrag am 16.08.2017 gemacht wurde, dann ist der Datenstand der 16.08.2017. Genau diese Information soll, ebenso wie die letzte Aktualisierung des Datenmodells, in das Dashboard einfließen.

Das Ziel besteht darin, das Datum des letzten Eintrags in der Faktentabelle auszulesen. Unter der Maßgabe, dass meine Faktentabelle Umsaetze eine Spalte Datum beinhaltet, könnte ein sinnvolles Measure wie folgt aussehen:

letzterUmsatz_V1 =
„letzter Umsatz: „ & FORMAT ( MAX ( Umsaetze[Datum] )„DD.MM.YYYY“ )

Diese Formel funktioniert, ist aber vom Datums-Slicer abhängig. Pro gewähltem Jahr wird der höchste, in der Faktentabelle vorhandene Datumswert ausgewiesen. Da in 2015 keine Werte vorhanden sind, liefert das Measure blank zurück und weist kein Datum aus.

Noch reagiert das Measure auf zeitliche Filter, Power BI Desktop, Filterkontext
Noch reagiert das Measure auf zeitliche Filter

Ich möchte jedoch, unabhängig von der getätigten Slicer-Selektion, das Datum des zuletzt eingespielten Umsatzes wissen. Daher muss ich die Formel adaptieren. Wenn es darum geht, den gewählten Filter (also den Filterkontext) zu ignorieren, fällt mir als erstes die Funktion ALL() ein. Die angepasste Formel sieht dementsprechend wie folgt aus:

letzterUmsatz_V2 =
„letzter Umsatz: „ & FORMAT ( MAX ( ALL ( Umsaetze[Datum] ) )„DD.MM.YYYY“ )

Diese Formel wirft leider den folgenden Fehler aus:

Fehlermeldung: MAX() erwartet eine Spalte und keine Tabelle als Parameter, DAX, Power BI Desktop
Fehlermeldung: MAX() erwartet eine Spalte und keine Tabelle als Parameter

Da ALL() eine Tabellenfunktion ist, gibt ALL ( Umsaetze[Datum] ) eine Tabelle zurück, auch wenn diese nur eine einzige Spalte beinhaltet. Die Funktion MAX() erwartet jedoch keine Tabelle, sondern eine Spalte als Kriterium. Daher nutze ich eine ähnliche Funktion: MAXX(). MAXX() erwartet zwei Parameter:

  • eine Tabelle (ALL() kann hier also als Parameter genutzt werden) und
  • einen Ausdruck, über den das Maximum ermittelt werden soll: meine Datumsspalte in der Umsatztabelle!

Das finale DAX-Measure sieht wie folgt aus:

letzterUmsatz_final =
„letzter Umsatz: „
FORMAT ( MAXX ( ALL ( Umsaetze[Datum] ); Umsaetze[Datum] )„DD.MM.YYYY“ )

Damit kann ich nun im Dashboard sowohl die letzte Aktualisierung, als auch den aktuellen Datenstand auf den ersten Blick erkennen.

Aktualisierungszeitpunkt und letztes Umsatzdatum im Dashboard, Power BI Desktop, DAX, M, Power Query
Aktualisierungszeitpunkt und letztes Umsatzdatum im Dashboard

Diese beiden Informationen solltest Du an einer sinnvollen Stelle in Deinem Dasboard platzieren. Auf diese Weise herrscht für Deine Kunden/ Nutzer nie wieder Unklarheit über den Datenstand und die Datenaktualisierung 🙂

Bis zum nächsten Mal und denk dran: Sharing is caring. Wenn Dir der Beitrag gefallen hat, dann teile ihn gerne

Viele Grüße aus Hamburg,

Lars

P.S. Ich habe alle DAX-Statements in diesem Beitrag mit folgendem Tool aufbereitet:

DAX Formatter by SQLBI

 

Der Beitrag Den Daten- und Aktualisierungsstand in Power BI immer im Blick erschien zuerst auf THE SELF-SERVICE-BI BLOG.

]]>
https://ssbi-blog.de/blog/business-topics/den-daten-und-aktualisierungsstand-mit-power-bi-immer-im-blick/feed/ 12