Converteren van BLANK naar waarden voorkomen

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 BLANK-resultaten expliciet worden geconverteerd naar nul.

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

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

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

Met de functie DIVIDE wordt de meting Winst gedeeld door de meting Verkoop . Als het resultaat nul of BLANK is, 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 meting Winstmarge wordt toegevoegd aan een tabelvisual, groeperen op klant.

Screenshot of Power B I Desktop showing table visual of data with one row per customer. Sales values are BLANK and Profit Margin values are zero per cent.

In de tabelvisual 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 LEEG (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.

Screenshot of Power BI Desktop showing table visual of data that has filtered content.

Tip

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

Aanbeveling

Het wordt aanbevolen dat uw metingen BLANK retourneren 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 rapportvisuals standaard groeperingen elimineren wanneer samenvattingen BLANK zijn.