DISTINCTCOUNT Alternative mit SUMX und VALUES

Die Berechnung der Anzahl eindeutiger Werte in DAX mit DISTINCTCOUNT, kann je nach Daten zu Performanceeinbußen führen. Hier kann die alternative Berechnung über SUMX und VALUES einen massiven Leistungsschub geben.

Im aktuellen Guy in a Cube Youtube-Video „Debugging a slow Power BI report with Phil Seamark„, wird eine DISTINCTCOUNT Alternative mit SUMX und VALUES gezeigt. Im Video wird wie bereits im Beitrag „Eine umfassende Anleitung zur Leistungsoptimierung in Power BI“ beschrieben, mit dem Power BI Performance Analyser und DAX Studio, die Optimierung der Modellberechnungen analysiert.
Als Problem wird die hohe Anzahl an Abfragen, auf die Storage Engine (SE) identifiziert, die durch die Verwendung der DISTINCTCOUNT Funktion hervorgerufen wird.

DISTINCTCOUNT in DAX Studio
DISTINCTCOUNT(Sales[CustomerKey])

Die Statistische DAX Funktion DISTINCTCOUNT zählt die Anzahl eindeutiger Werte in einer Spalte.

Phil Seamark schlägt hier einen alternative Berechnung mit SUMX und VALUES vor.

SUMX(VALUES(Sales[CustomerKey]),1)

Die DAX Funktion VALUES gibt eine einspaltige Tabelle zurück, die die eindeutigen Werte aus der angegebenen Spalte enthält. Anschließend iteriert die Funktion SUMX über die Ergebnistabelle und Summiert für jede Zeile den Wert 1.

DISTINCTCOUNT mit SUMX und VALUES

In diesem Fall reduziert sich die Anzahl der Storage Engine Abfragen auf ca. 1/8 und die Abfragezeit auf ca. 1/10.

Das Resultat hängt immer von den Daten ab und ist kein Allheilmittel, dennoch wird auf diesem Blog https://jlsql.blog/2018/02/06/sumx-vs-distinct-count/ von einem ähnlichen Fall berichtet, mit einer Verbesserung der Abfragezeit von 1 Minute 24 Sekunden auf 6 Sekunden.

Quellen:

Veröffentlicht von

Marcus Wegener

Marcus Wegener

Marcus Wegener ist Anwendungsentwickler für Business Intelligence und erstellt Lösungen, mit denen sich große Datenmengen schnell analysieren lassen. Kunden nutzen seine Lösungen, um die Vergangenheit zu analysieren, die Gegenwart zu steuern und die Zukunft zu planen, um damit mehr Erfolg zu generieren. Dabei ist seine einzigartige Kombination aus Wissen und Auffassungsgabe ein Garant für ihren Erfolg.

Ein Gedanke zu „DISTINCTCOUNT Alternative mit SUMX und VALUES“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

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.