Vermeiden der Konvertierung von BLANKs in Werte
Als Datenmodellierer können Sie beim Schreiben von Measureausdrücken auf Fälle stoßen, in denen kein sinnvoller Wert zurückgegeben werden kann. Dann ist es möglicherweise verlockend, einen Wert wie z.B. 0 (null) zurückzugeben. Es wird empfohlen, sorgfältig zu prüfen, ob dieser Entwurf effizient und geeignet ist.
Beachten Sie die folgende Measuredefinition, die BLANK-Ergebnisse explizit in 0 (null) konvertiert.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Betrachten Sie eine andere Measuredefinition, die auch die BLANK-Ergebnisse in 0 konvertiert.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
Die Funktion DIVIDE teilt das Measure Profit durch das Measure Sales. Wenn das Ergebnis 0 (null) oder BLANK ist, wird das dritte Argument – das alternative Ergebnis (das optional ist) – zurückgegeben. Da in diesem Beispiel 0 als alternatives Ergebnis übergeben wird, ist sichergestellt, dass das Measure immer einen Wert zurückgibt.
Diese Measureentwürfe sind ineffizient und führen zu schlechten Berichtsentwürfen.
Wenn sie einem Berichtsvisual hinzugefügt werden, versucht Power BI, alle Gruppierungen innerhalb des Filterkontexts abzurufen. Durch das Auswerten und Abrufen umfangreicher Abfrageergebnisse wird das Rendern von Berichten häufig verlangsamt. Jedes Beispielmeasure wandelt eine Sparseberechnung in eine Denseberechnung um und zwingt Power BI, mehr Arbeitsspeicher als nötig zu verwenden.
Außerdem wird es durch zu viele Gruppierungen für die Berichtsbenutzer oft zu unübersichtlich.
Sehen Sie sich an, was geschieht, wenn das Measure Profit Margin zu einem Tabellenvisual hinzugefügt wird, das nach Kunden gruppiert ist.
Das Tabellenvisual zeigt eine überwältigende Anzahl von Zeilen an. (Es gibt tatsächlich 18.484 Kunden im Modell, sodass versucht wird, sie alle in der Tabelle anzuzeigen.) Beachten Sie, dass die betrachteten Kunden keine Umsätze erzielt haben. Da das Measure Profit Margin jedoch immer einen Wert liefert, werden sie angezeigt.
Hinweis
Wenn zu viele Datenpunkte in einem Visual angezeigt werden müssen, kann Power BI Datenreduktionsstrategien anwenden, um umfangreiche Abfrageergebnisse zu entfernen oder zusammenzufassen. Weitere Informationen finden Sie unter Datenpunktgrenzwerte und Strategien nach Visualtyp.
Nun sehen Sie, was geschieht, wenn die Definition des Measures Profit Margin verbessert wird. Es wird nun nur dann ein Wert zurückgegeben, wenn das Measure Sales nicht BLANK (oder 0 (null)) ist.
Profit Margin =
DIVIDE([Profit], [Sales])
Das Tabellenvisual zeigt nun nur noch Kunden an, die innerhalb des aktuellen Filterkontexts Umsätze getätigt haben. Das verbesserte Measure führt zu einer effizienteren und praktischeren Erfahrung für die Berichtsbenutzer.
Tipp
Bei Bedarf können Sie das Visual so konfigurieren, dass alle Gruppen (die Werte oder BLANK zurückgeben) im Filterkontext angezeigt werden, indem Sie die Option Elemente ohne Daten anzeigen aktivieren.
Empfehlung
Ihre Measures sollten BLANK zurückgeben, wenn kein sinnvoller Wert zurückgegeben werden kann.
Dieser Entwurfsansatz ist effizient und ermöglicht Power BI, Berichte schneller zu rendern. Zudem ist ein Vorteil der Rückgabe von BLANK, dass Berichtsvisuals Gruppierungen standardmäßig löschen, wenn Zusammenfassungen leer (BLANK) sind.
Zugehöriger Inhalt
- Lernpfad: Verwenden von DAX in Power BI Desktop
- Haben Sie Fragen? Stellen Sie Ihre Frage in der Power BI-Community.
- Vorschläge? Einbringen von Ideen zur Verbesserung von Power BI