Použitie funkcie SELECTEDVALUE namiesto funkcie VALUES
Ako modelár údajov možno niekedy budete musieť napísať výraz jazyka DAX, ktorý testuje, či sa stĺpec filtruje podľa konkrétnej hodnoty.
V starších verziách jazyka DAX sa táto požiadavka bezpečne dosiahla pomocou vzoru zahŕňajúceho tri funkcie jazyka DAX. IF, HASONEVALUE a VALUES. Nasledujúca definícia mierky predstavuje príklad. Vypočíta čiastku dane z predaja, ale iba na predaj uskutočnený pre austrálskych zákazníkov.
Australian Sales Tax =
IF(
HASONEVALUE(Customer[Country-Region]),
IF(
VALUES(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
)
V príklade vráti funkcia HASONEVALUE hodnotu TRUE iba v prípade, že v aktuálnom kontexte filtra je viditeľná jedna hodnota stĺpca Krajina – oblasť . Keď je hodnota TRUE, funkcia VALUES sa porovnáva s doslovovým textom "Australia". Keď funkcia VALUES vráti hodnotu TRUE, mierka Sales sa vynásobí hodnotou 0,10 (predstavujúcou 10 %). Ak funkcia HASONEVALUE vráti hodnotu FALSE, pretože stĺpec filtruje viac ako jedna hodnota – prvá funkcia IF vráti hodnotu BLANK.
Použitie HASONEVALUE je obrannou technikou. Je to potrebné, pretože je možné, že stĺpec Krajina – oblasť filtrujú viaceré hodnoty. V tomto prípade funkcia VALUES vráti tabuľku s viacerými riadkami. Pri porovnávaní tabuľky s viacerými riadkami na skalárnu hodnotu sa vyskytla chyba.
Odporúčanie
Odporúča sa použiť funkciu SELECTEDVALUE . Dosahuje rovnaký výsledok ako vzor popísaný v tomto článku, ale oveľa efektívnejšie a elegantnejšie.
Pomocou funkcie SELECTEDVALUE sa teraz prepíše definícia mierky príkladu.
Australian Sales Tax =
IF(
SELECTEDVALUE(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
Tip
Do funkcie SELECTEDVALUE je možné odovzdať hodnotu alternatívneho výsledku . Hodnota alternatívneho výsledku sa vráti, keď sa v stĺpci nepoužijú žiadne filtre alebo viaceré filtre.
Súvisiaci obsah
- cesta Vzdelávanie: Použitie jazyka DAX v aplikácii Power BI Desktop
- Máte nejaké otázky? Skúste sa spýtať Komunita Power BI
- Návrhy? Prispejte nápadmi na zlepšenie služby Power BI
Pripomienky
https://aka.ms/ContentUserFeedback.
Pripravujeme: V priebehu roka 2024 postupne zrušíme službu Problémy v službe GitHub ako mechanizmus pripomienok týkajúcich sa obsahu a nahradíme ju novým systémom pripomienok. Ďalšie informácie nájdete na stránke:Odoslať a zobraziť pripomienky pre