Delen via


Vermijd het converteren van BLANK's naar waarden

Als gegevensmodeller kunt u bij het schrijven van metingexpressies gevallen tegenkomen waarin een zinvolle waarde niet kan worden geretourneerd. In deze gevallen is het misschien verleidelijk om een waarde, zoals nul, te retourneren. U wordt aangeraden zorgvuldig te bepalen of dit ontwerp efficiënt en praktisch is.

Houd rekening met de volgende metingsdefinitie waarmee resultaten expliciet worden geconverteerd naar nul BLANK.

Sales (No Blank) =
IF(
    ISBLANK([Sales]),
    0,
    [Sales]
)

Overweeg een andere metingsdefinitie die ook resultaten converteert BLANK naar nul.

Profit Margin =
DIVIDE([Profit], [Sales], 0)

De DIVIDE functie deelt de maatstaf Winst door de verkoopmaatstaf. Als het resultaat nul is of BLANK, wordt het derde argument ( het alternatieve resultaat (optioneel) geretourneerd. Omdat in dit voorbeeld nul wordt doorgegeven als alternatief resultaat, wordt gegarandeerd dat de meting altijd een waarde retourneert.

Deze maateenheidontwerpen zijn inefficiënt en leiden tot slechte rapportontwerpen.

Wanneer ze worden toegevoegd aan een rapportvisual, probeert Power BI alle groeperingen op te halen in de filtercontext. De evaluatie en het ophalen van grote queryresultaten leiden vaak tot trage rapportweergave. Met elke voorbeeldmeting wordt een sparse-berekening effectief omgezet in een dichte berekening, waardoor Power BI meer geheugen moet gebruiken dan nodig is.

Bovendien overweldigen te veel groeperingen uw rapportgebruikers vaak.

Laten we eens kijken wat er gebeurt wanneer de Winstmargemeting wordt toegevoegd aan een tabelweergave, gegroepeerd op klant.

Schermopname van Power BI Desktop met een tabelvisual met gegevens met één rij per klant. Verkoopwaarden zijn BLANK en winstmargewaarden zijn nul procent.

In de tabelweergave wordt een overweldigend aantal rijen weergegeven. (Er zijn in feite 18.484 klanten in het model en dus probeert de tabel ze allemaal weer te geven.) U ziet dat de klanten in de weergave geen verkopen hebben behaald. Maar omdat de meting Winstmarge altijd een waarde retourneert, worden ze weergegeven.

Notitie

Wanneer er te veel gegevenspunten zijn om weer te geven in een visual, kan Power BI strategieën voor gegevensreductie gebruiken om grote queryresultaten te verwijderen of samen te vatten. Zie Limieten en strategieën voor gegevenspunten per visueel type voor meer informatie.

Laten we eens kijken wat er gebeurt wanneer de definitie van de winstmargemeting wordt verbeterd. Er wordt nu alleen een waarde geretourneerd wanneer de meting Verkoop niet BLANK (of nul) is.

Profit Margin =
DIVIDE([Profit], [Sales])

In de tabelvisual worden nu alleen klanten weergegeven die verkoop hebben gemaakt binnen de huidige filtercontext. De verbeterde meting resulteert in een efficiëntere en praktische ervaring voor uw rapportgebruikers.

Schermopname van Power BI Desktop met tabelvisual met gegevens die gefilterde inhoud bevatten.

Fooi

Indien nodig kunt u een visual zo configureren dat alle groeperingen (die waarden retourneren of BLANK) in de filtercontext worden weergegeven door de optie Items zonder gegevens weergeven in te schakelen.

Aanbeveling

Het wordt aanbevolen dat uw metingen retourneren BLANK wanneer een zinvolle waarde niet kan worden geretourneerd.

Deze ontwerpbenadering is efficiënt, waardoor Power BI sneller rapporten kan weergeven. Het retourneren van BLANK is ook beter omdat standaard rapportvisuals groeperingen elimineren wanneer de samenvattingen worden BLANK.