Místo VALUES použijte SELECTEDVALUE
Jako modelátor dat může být někdy nutné napsat DAX výraz, který testuje, zda je sloupec filtrován podle konkrétního value.
Ve earlier verzích DAXbyl tento požadavek bezpečně dosažen pomocí vzoru zahrnujícího tři DAX funkce; IF, HASONEVALUEandVALUES. Následující definice measure představuje příklad. Vypočítá částku daně z prodeje, ale pouze pro prodeje pro australské zákazníky.
Australian Sales Tax =
IF(
HASONEVALUE(Customer[Country-Region]),
IF(
VALUES(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
)
V tomto příkladu vrátí funkce
Použití HASONEVALUE je obranná technika. Je to nutné, protože je možné, že více valuesfilter sloupec země-oblast. V tomto případě vrátí funkce VALUES tabulku s více řádky. Porovnání tabulky s více řádky se skalárním value má za následek error.
Doporučení
Doporučujeme použít funkci SELECTEDVALUE. Dosahuje stejného výsledku jako vzor popsaný v tomto článku, ale efektivněji and elegantně.
Příklad definice measure je přepsán pomocí funkce SELECTEDVALUEnow.
Australian Sales Tax =
IF(
SELECTEDVALUE(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
Rada
Do funkce SELECTEDVALUE je možné předat alternativní výsledekvalue. Alternativní výsledek value se vrátí, pokud se na sloupec nepoužijí žádné filters, nebo pokud se použije více filtersproor.
obsah Related
- Výuka path: Použití DAX v Power BI Desktopu
- Otázky? zkuste se zeptat komunity Power BI
- Návrhy? Přispějte nápady na vylepšení Power BI