SWITCH a jeho použití pro zjednodušení komplikovaných podmínek (DAX – Power Pivot, Power BI)
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Zápis komplikovaných kombinací logických funkcí a podmínek obvykle nepatří k oblíbeným koníčkům běžných uživatelů, v DAXu ani v excelovských vzorcích.
V obou situacích můžeme použít funkci KDYŽ / IF pro situace, kdy se vybírá ze dvou možností. V excelovských vzorcích máme nově funkci IFS, která umožní řetězit podmínky za sebe, ale v DAXu ne.
Jak na to?
Např. v této tabulce chceme odhalit červené Alfy Romeo a stříbrné drahé Opely.
Pro kombinace kritérií, která mají platit současně, resp. alespoň jedno, se v DAXu používají funkce AND a OR (zvládnou max dvě podmínky), nebo příslušné operátory.
Mohli bychom zapsat takovouto funkci s IF a fungovalo by to:
-
Description =IF(Sheet1[Brand] = "Alfa Romeo"&& Sheet1[Color] = "Red",
"Red Alfa",IF(Sheet1[Brand] = "Opel"&& Sheet1[Color] = "Silver"&& Sheet1[Price] > 4000,
"Expensive silver Opel",BLANK ()))
jenomže pokud by podmínek bylo hodně, bude už hodně vnořených IFů a funkce bude nepřehledná.
IFS v DAXu není, ale můžeme takto zapsat SWITCH:
- Description =
SWITCH (
TRUE (),
Sheet1[Brand] = "Alfa Romeo" && Sheet1[Color] = "Red", "Red Alfa",
Sheet1[Brand] = "Opel" && Sheet1[Color] = "Silver" && Sheet1[Price] > 4000, "Expensive silver Opel"
)
Výhoda je, že zatímco v IF musíme vkládat jednu funkci do druhé, do třetí atd., ve SWITCHi můžeme řetězit jednoduše za sebe - přesně jako to dělá už zmíněná IFS ve vzorečcích Excelu.
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.