Undgå at konvertere BLANKs til værdier
Når du skriver målingsudtryk, kan du som dataudformer støde på tilfælde, hvor der ikke kan returneres en meningsfuld værdi. I disse tilfælde kan du blive fristet til at returnere en værdi – f.eks. nul – i stedet. Det anbefales, at du nøje afgør, om dette design er effektivt og praktisk.
Overvej følgende målingsdefinition, der eksplicit konverterer BLANK-resultater til nul.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Overvej en anden målingsdefinition, der også konverterer BLANK-resultater til nul.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
Funktionen DIVIDE dividerer målingen Profit med målingen Sales . Hvis resultatet er nul eller BLANK, returneres det tredje argument – det alternative resultat (som er valgfrit). Da nul i dette eksempel overføres som det alternative resultat, garanteres det, at målingen altid returnerer en værdi.
Disse målingsdesign er ineffektive og fører til dårlige rapportdesign.
Når de føjes til en rapportvisualisering, forsøger Power BI at hente alle grupperinger i filterkonteksten. Evalueringen og hentningen af store forespørgselsresultater fører ofte til langsom gengivelse af rapporten. Hver eksempelmåling omdanner effektivt en sparseberegning til en tæt beregning, hvilket tvinger Power BI til at bruge mere hukommelse end nødvendigt.
For mange grupperinger overvælder også ofte dine rapportbrugere.
Lad os se, hvad der sker, når målingen Profit Margin føjes til en tabelvisualisering og grupperes efter kunde.
Tabelvisualiseringen viser et overvældende antal rækker. (Der er faktisk 18.484 kunder i modellen, og tabellen forsøger derfor at vise dem alle). Bemærk, at kunderne i visningen ikke har opnået noget salg. Men da målingen Profit Margin altid returnerer en værdi, vises de.
Bemærk
Når der er for mange datapunkter til at blive vist i en visualisering, kan Power BI bruge strategier til datareduktion til at fjerne eller opsummere store forespørgselsresultater. Du kan få flere oplysninger under Datapunktgrænser og -strategier efter visualiseringstype.
Lad os se, hvad der sker, når målingsdefinitionen Profit Margin forbedres. Den returnerer nu kun en værdi, når målingen Sales ikke er BLANK (eller nul).
Profit Margin =
DIVIDE([Profit], [Sales])
Tabelvisual'et viser nu kun kunder, der har foretaget salg inden for den aktuelle filterkontekst. Den forbedrede måling resulterer i en mere effektiv og praktisk oplevelse for dine rapportbrugere.
Tip
Når det er nødvendigt, kan du konfigurere en visualisering til at vise alle grupperinger (der returnerer værdier eller BLANK) i filterkonteksten ved at aktivere indstillingen Vis elementer uden data .
Anbefaling
Det anbefales, at dine målinger returnerer BLANK, når der ikke kan returneres en meningsfuld værdi.
Denne designtilgang er effektiv, så Power BI kan gengive rapporter hurtigere. Det er også bedre at returnere BLANK, fordi rapportvisualiseringer – som standard – eliminerer grupperinger, når opsummeringer er BLANK.
Relateret indhold
- Læringsforløb: Brug DAX i Power BI Desktop
- Spørgsmål? Prøv at spørge Power BI-community'et
- Forslag? Bidrag med idéer til forbedring af Power BI