Del via


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.

Skærmbillede af Power B I Desktop, der viser tabelvisualisering af data med én række pr. kunde. Salgs-values er BLANKand avancemargenen values er nul procent.

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.

Skærmbillede af Power BI Desktop, der viser tabelvisualisering af data, der har filtreret indhold.

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.