Undgå at konvertere TOMME værdier til values
Når du skriver measure udtryk, kan du som dataudformer støde på tilfælde, hvor en meningsfuld value ikke kan returneres. I disse tilfælde kan du blive fristet til at returnere en value– f.eks. nul – i stedet. Det anbefales, at du nøje afgør, om dette design er effektivt and praktisk.
Overvej følgende measure definition, der eksplicit konverterer BLANK resultater til nul.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Overvej en anden measure definition, der også konverterer BLANK resultater til nul.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
Funktionen DIVIDE opdeler profitmeasure med Salesmeasure. Hvis resultatet er nul orBLANKreturneres det tredje argument – det alternative resultat (som er valgfrit). Da nul i dette eksempel overføres som det alternative resultat, garanteres det, at measure altid returnerer en value.
Disse measure design er ineffektive and føre til dårlige rapportdesign.
Når de føjes til en rapportvisualisering, forsøger Power BI at hente all grupperinger i den filter kontekst. Evalueringen and hentning af store forespørgselsresultater fører ofte til langsom gengivelse af rapporten. Hvert eksempel measure 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 Profit Margin-measure føjes til en tabelvisualisering og grupperes efter kunde.
Tabelvisualiseringen viser et overvældende antal rækker. (Der er i fact 18.484 kunder i modellen, and så tabellen forsøger at vise all af dem). Bemærk, at kunderne i visningen ikke har opnået noget salg. Men da Profit Marginmeasure altid returnerer en value, vises de.
Seddel
Når der er for mange datapunkter til at blive vist i en visualisering, kan Power BI bruge datareduktionsstrategier til at fjerne orsummarize store forespørgselsresultater. Du kan få flere oplysninger under Datapunktgrænser and strategier efter visualiseringstype.
Lad os se, hvad der sker, når definitionen af profitmargenmeasure forbedres. now Den returnerer kun en value, når Sales-measure ikke er BLANK (or nul).
Profit Margin =
DIVIDE([Profit], [Sales])
Tabelvisual'et now viser kun kunder, der har foretaget salg inden for den aktuelle filter kontekst. Den forbedrede measure resulterer i en mere effektiv and praktisk oplevelse for dine rapportbrugere.
Drikkepenge
Når det er nødvendigt, kan du konfigurere en visualisering til at vise all grupperinger (der returnerer valuesorBLANK) i den filter kontekst 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 value.
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 BLANK.
Related indhold
- Læring path: Brug DAX i Power BI Desktop-
- Spørgsmål? Prøv at spørgePower BI-community'et
- Forslag? Bidrag med idéer til at forbedre Power BI-