
Definieren wir zunächst den Umfang der Herausforderung: Stellen Sie sich vor, wir möchten das Wachstum Ihres Kundenstamms im Laufe der Zeit verfolgen.
Wir erstellen eine Maßnahme, um Kunden basierend auf ihrer ersten Bestellung zu zählen und neue Kunden für jeden Monat zu identifizieren.
Aber jetzt möchten wir eine Visualisierung dieses Maßes mit einem Wasserfall -visuell erstellen, und wir bekommen so etwas:

Aber wir brauchen etwas mehr.
Wir benötigen den Anfangswert, der zum Ende des Vorjahres die Kundenzahl ist, und fügen Sie dann die Anzahl der neuen Kunden für jeden Monat bis zum Ende des Berichtszeitraums zur Gesamtzahl der Kunden hinzu.
So etwas:

Leider können wir keine Spalte als Startsumme in Energy BI festlegen.
Wenn Sie daher die Messung zu einem Wasserfall in Energy BI hinzufügen, ähnelt das Ergebnis dem im ersten Beispiel in Excel:

Selbst wenn ein kommerzielles, benutzerdefiniertes Visible wie Zebra BI verwendet wird, ist das Ergebnis nicht nach Bedarf:

In diesem Fall habe ich die Maßnahme des Vorjahres hinzugefügt, um den Startwert festzulegen. Das visuelle berechnet jedoch die Abweichung von der PY für jeden Monat und zeigt die Gesamtsumme anhand dieser Abweichungen an.
Das Ergebnis 141 für das Vorjahr wird berechnet, da Zebra BI feststellt, dass es für das laufende Jahr nur 7 Monate Daten gibt, und es berechnet die Summe im Vorjahr nur für diese 7 Monate.
In diesem speziellen Fall ist es nicht das, was wir brauchen, da wir nicht an der Abweichung vom Vorjahr interessiert sind, sondern am Ende des letzten Jahres am Wachstum.
Obwohl dieses benutzerdefinierte Visible extrem leistungsfähig ist, ist es in unserem Fall nicht hilfreich.
Erweitern Sie das Datenmodell
Was wir jetzt brauchen, ist eine Methode, die nicht nur berechnet, sondern auch den letzten Monat des Vorjahres bei der Auswahl eines Jahres, beispielsweise 2025, zeigen kann.
Ich habe dieses Drawback bereits gelöst, indem ich eine zweite Datumstabelle hinzugefügt und die entsprechende Maßnahme geschrieben habe.
Sie können die vollständige Beschreibung dieser Lösung und eine Erläuterung finden, wie sie im Abschnitt Referenzen unten funktioniert.
Das modifizierte Datenmodell sieht Folgendes aus:

Mit dieser neuen Datumstabelle können wir mit dem in der Tabelle „Auswahldatum“ ausgewählten Factor arbeiten und Berechnungen mit der Datumstabelle durchführen.
Um dies zu unterstützen, habe ich beide Tabellen als „Datumstabelle“ festgelegt. Ich kann die Tabelle „Datum“ wie gewohnt ohne Einschränkungen verwenden.
Entwicklung der Maßnahmen (en)
Der nächste Schritt ist das Schreiben der Maßnahmen.
Zunächst muss ich den Startwert berechnen, der die Anzahl der Kunden bis zum Ende des (vorherigen) Jahres ist.
Um dieses Ziel zu erreichen, muss ich die Summe aller Zeilen für das Vorjahr berechnen, jedoch für alle Monate:
New Clients (YE) =
VAR SelYearPY = SELECTEDVALUE('Date'(Yr))
VAR Consequence = CALCULATE((New Clients)
,REMOVEFILTERS('Date')
,'Date'(Yr) = SelYearPY
)
RETURN
Consequence
Das Ergebnis ist 280 für 2024.
Sie fragen sich vielleicht, warum ich die Summe über das ausgewählte Jahr anstelle des Vorjahres berechnet habe.
Der Grund dafür ist, dass wir das Ergebnis dieser Maßnahme für Dezember 2024 zeigen möchten (wenn 2025 ausgewählt ist). Bitte warten Sie einen Second, bis Sie die Ergebnisse sehen. Diese werden Ihnen helfen, es zu verstehen.
Jetzt müssen wir eine Maßnahme entwickeln, die je nach Monat der X-Achse die richtigen Werte zurückgibt.
Dies sollte der Jahresendwert des Vorjahres für Dezember 2024 oder die Anzahl neuer Kunden für jeden Monat des aktuellen (ausgewählten) Jahres sein. Siehe die vorherige Maßnahme.
Die Maßnahme, die wir benötigen, muss die folgenden Schritte ausführen:
- Holen Sie sich das ausgewählte Jahr aus der Datums Tabelle.
- Berechnen Sie die ersten und letzten Monate, um im Bericht angezeigt zu werden.
- Berechnen Sie das Ergebnis, indem Sie den Filter aus der Datumstabelle entfernen, die im Slicer verwendet wird (der Tabelle „Auswahldatum“).
- Entscheiden Sie, welches Ergebnis für welchen Monat angezeigt werden muss.
Der letzte Schritt ist entscheidend.
Wenn wir den Filter für das ausgewählte Jahr aus beiden Datumstabellen entfernen, müssen wir steuern, ob ein Ergebnis für jeden Monat angezeigt werden soll. Sie finden diesen Schritt in der SCHALTEN() Teil der folgenden Maßnahme.
Dies ist die volle Maßnahme:
Retail Gross sales Waterfall =
VAR SelYear = SELECTEDVALUE('Choice Date'(Yr))
VAR MinYearMonth = SelYear * 100 + 1
VAR MaxYearMonth = SelYear * 100 + 12
VAR LastPYYearMonth = (SelYear - 1) * 100 + 12
VAR ActualMK = CALCULATE(
MAX('Date'(MonthKey))
,CROSSFILTER('Choice Date'(DateKey)
,'Date'(DateKey)
,None)
)
RETURN
SWITCH(TRUE()
,ActualMK = LastPYYearMonth
,CALCULATE((New Clients (YE))
,CROSSFILTER('Choice Date'(DateKey)
,'Date'(DateKey)
,None)
,REMOVEFILTERS('Date')
,'Date'(MonthKey) = (SelYear - 1) * 100 + 12
)
,ActualMK >= MinYearMonth
&& ActualMK <= MaxYearMonth
,CALCULATE((New Clients)
,CROSSFILTER('Choice Date'(DateKey)
,'Date'(DateKey)
,None)
)
,BLANK()
)
Dies ist das Ergebnis:

Über dem Wasserfalldiagramm sehen Sie die von der Maßnahme zurückgegebenen Zahlen.
Wie oben erwähnt, verwendet der Slicer in der oberen linken Ecke die Spalte des Jahres nicht aus der Tabelle „Datum“, sondern aus der Tabelle „Auswahldatum“. Das ist wichtig. Die Lösung funktioniert nicht, wenn die Spalte aus der Tabelle „Datum“ verwendet wird.
Abschluss
Das Visualwasserfall ist hervorragend, um die Änderung der Werte von einem Factor zum anderen zu zeigen. Ein Factor kann ein Monat oder etwas anderes sein. Sie können beispielsweise einen weiteren Artikel im Abschnitt Referenzen finden, in dem ich nachdecke, wie ein Datenmodell geändert wird, um einen Geschäftsprozess mit einem Wasserfall -Visible in Energy BI anzuzeigen.
Die hier gezeigte Lösung ist ein typisches Beispiel dafür, wo ich einen zuvor entwickelten Ansatz wiederverwendet habe, um eine neue Herausforderung anzugehen.
Das Schöne an diesem Ansatz ist, dass ich alle Maßnahmen mithilfe der „regulären“ Datums Tabelle ohne Einschränkung fortsetzen und die Tabelle „Auswahldatum“ verwenden kann, um dem Bericht mehr Funktionen hinzuzufügen.
In diesem Fall habe ich dem Wasserfalldiagramm eine Funktion hinzugefügt, die zuvor nicht verfügbar battle.
Ich werde nicht sagen, dass Sie immer zwei Date -Tabellen benötigen. Fügen Sie sie nur bei Bedarf hinzu. Es macht keinen Sinn, einem Datenmodell Tabellen nur zu fügen, um sie zu haben.
Referenzen
Hier ist mein Stück, in dem ich zeige, wie ich mein Datenmodell erweitert habe, um mehr Daten anzeigen als ausgewählt zu werden:
Hier, mein Stück, in dem ich erkläre, wie ich die Daten ändern kann, um einen Geschäftsprozess mit einem Wasserfalldiagramm anzuzeigen:
Wie in meinen vorherigen Artikeln verwende ich den Contoso -Beispiel -Datensatz. Sie können den ContoSoretailDW -Datensatz kostenlos von Microsoft herunterladen Hier.
Die Contoso -Daten können unter der MIT -Lizenz frei verwendet werden, wie beschrieben in diesem Dokument. Ich habe den Datensatz geändert, um die Daten auf zeitgenössische Daten zu verschieben.
