Power BI

Power BI: ApproximateDistinctCount soms trager dan DistinctCount

Chris Webb's BI Blog
Power BI: ApproximateDistinctCount soms trager dan DistinctCount

Samenvatting

Power BI toont dat ApproximateDistinctCount op kolommen met weinig unieke waarden trager kan zijn dan DistinctCount.

ApproximateDistinctCount in Power BI: wat er gebeurt

Chris Webb testte in 2026 de nieuwe DAX-functie ApproximateDistinctCount in een Direct Lake-semantic model met 11,7 miljoen rijen uit de New York Taxi-dataset van 2017. De kolom VendorID bevatte slechts twee unieke waarden.

Een query met 85.562 rijen en een koude cache duurde met DistinctCount 188 milliseconden en gebruikte 110 milliseconden CPU-tijd. ApproximateDistinctCount had 688 milliseconden en 547 milliseconden CPU-tijd nodig. Het geheugengebruik steeg daarbij van 8.028 KB naar 410.441 KB.

Waarom ApproximateDistinctCount belangrijk is

ApproximateDistinctCount is bedoeld als prestatie-optimalisatie voor DistinctCount, maar de engine beschikt bij DistinctCount over optimalisaties die niet beschikbaar zijn voor de benaderende variant. Vooral kolommen met een lage cardinaliteit kunnen daardoor beter presteren met DistinctCount.

De uitkomst hangt af van het model en de query. Webb zag ook slechtere prestaties voor ApproximateDistinctCount bij een kolom met ongeveer 11.000 unieke waarden. Bij kolommen met miljoenen unieke waarden in een zeer groot semantic model kan de functie juist veel voordeel bieden. Een recente engine-optimalisatie verbeterde de prestaties bovendien al aanzienlijk, dus resultaten kunnen veranderen.

Concrete takeaway voor Power BI

Meet beide DAX-functies op het eigen model voordat je een bestaande DistinctCount vervangt. Controleer niet alleen de querytijd, maar ook CPU- en geheugengebruik, vooral bij Direct Lake-modellen en lage of middelhoge cardinaliteit.

Lees het volledige artikel
Meer over Power BI →