Brug SELECTEDVALUE i stedet for VALUES
I din egenskab af dataudformer kan du nogle gange få brug for at skrive et DAX-udtryk, der tester, om en kolonne er filtreret efter en bestemt værdi.
I tidligere versioner af DAX blev dette krav opfyldt på en sikker måde ved hjælp af et mønster, der omfatter tre DAX-funktioner. IF, HASONEVALUEog VALUES. Der vises et eksempel i følgende målingsdefinition. Momsbeløbet beregnes, men kun for salg til australske kunder.
Australian Sales Tax =
IF(
HASONEVALUE(Customer[Country-Region]),
IF(
VALUES(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
)
I eksemplet returneres funktionen HASONEVALUE kun TRUE, når en enkelt værdi for kolonnen Country-Region er synlig i den aktuelle filterkontekst. Når det er sandt, sammenlignes funktionen værdier med konstant teksten "Australien". Når funktionen VALUES returnerer TRUE, multipliceres målingen Sales med 0,10 (som repræsenterer 10 %). Hvis funktionen HASONEVALUE returnerer FALSE – fordi mere end én værdi filtrerer kolonnen – returnerer den første IF-funktion BLANK.
Brugen af HASONEVALUE er en defensiv teknik. Den er påkrævet, fordi flere værdier filtrerer kolonnen Country-Region. I dette tilfælde returnerer funktionen VALUES en tabel med flere rækker. Når du sammenligner en tabel med flere rækker med en skalaværdi, resulterer det i en fejl.
Anbefaling
Det anbefales, at du bruger funktionen SELECTEDVALUE. Det giver det samme resultat som det mønster, der er beskrevet i denne artikel, men endnu mere effektivt og elegant.
Ved hjælp af funktionen SELECTEDVALUE omskrives eksempelmålingsdefinitionen nu.
Australian Sales Tax =
IF(
SELECTEDVALUE(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
Tip
Det er muligt at overføre en alternativ resultatværdi i funktionen SELECTEDVALUE. Den alternative resultatværdi returneres, når der enten ikke anvendes nogen filtre – eller når der anvendes flere filtre – på kolonnen.
Se også
- Læringsforløb: Brug DAX i Power BI Desktop
- Har du spørgsmål? Prøv at spørge Power BI-community'et
- Forslag? Få ideer til at forbedre Power BI