Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Vzťahuje sa na:
vypočítaný stĺpec
vypočítanej tabuľky![]()
vizuálového výpočtu
Vyhodnotí výraz voči zoznamu hodnôt a vráti jeden z viacerých možných výsledných výrazov. Túto funkciu možno použiť na to, aby ste nemuseli používať viaceré vnorené príkazy IF.
Syntax
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Parametre
| Obdobie | Definícia |
|---|---|
expression |
Akýkoľvek DAX výraz, ktorý vráti jednu skalárnu hodnotu, pričom výraz sa má vyhodnotiť viackrát (pre každý riadok alebo kontext). |
value |
Konštantná hodnota, ktorá sa má zhodovať s výsledkami expression. |
result |
Každý skalárny výraz, ktorý sa má vyhodnotiť, ak sa výsledky expression zhodujú so zodpovedajúcou value. |
else |
Každý skalárny výraz, ktorý sa má vyhodnotiť, ak sa výsledok expression nezhoduje so žiadnym z value argumentov. |
Vrátená hodnota
Ak sa zhoda s value, vráti sa skalárna hodnota zo zodpovedajúcej result. Ak sa zhoda s valuenezhoduje, vráti sa hodnota z else. Ak sa žiadna z values nezhoduje a else nie je zadaná, vráti sa BLANK.
Poznámky
-
expression, ktoré sa majú vyhodnotiť, môže byť konštantnou hodnotou alebo výrazom. Bežným použitím tejto funkcie je nastavenie prvého parametra naTRUE. Pozrite si príklady nižšie. - Všetky
resultvýrazy a výrazelsemusia mať rovnaký typ údajov. - Na poradí podmienok záleží. Hneď, ako sa jeden
valuezhoduje, vráti sa zodpovedajúciresulta ďalšie nasledujúcevaluessa nevyhodnocujú. Uistite sa, že najprísnejšievalues, ktoré sa majú vyhodnotiť, sú zadané pred menej obmedzujúcimivalues. Pozrite si príklady nižšie.
Príklady
Bežným použitím SWITCH je porovnanie expression s konštantnými values. V nasledujúcom príklade sa vytvorí vypočítaný stĺpec s názvami mesiacov:
= SWITCH (
[Month Number Of Year],
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"Unknown month number"
)
Ďalším bežným použitím SWITCH je nahradenie viacerých vnorených príkazov IF. Dosahuje sa to nastavením výrazu na TRUE, ako je to znázornené v nasledujúcom príklade, ktorý porovnáva hodnoty bodu zmeny poradia a úrovne bezpečnostných zásob výrobkov s cieľom identifikovať potenciálne riziká vyjazdenia zásob:
= SWITCH (
TRUE,
[Reorder Point] > [Safety Stock Level], "Good: Safety stock level exceeded",
[Reorder Point] = [Safety Stock Level], "Minimal: Safety stock level met",
[Reorder Point] < [Safety Stock Level], "At risk: Safety stock level not met",
ISBLANK ( [Reorder Point] ), "Incomplete: Reorder point not set",
ISBLANK ( [Safety Stock Level] ), "Incomplete: Safety stock level not set",
"Unknown"
)
Na poradí values záleží. V nasledujúcom príklade sa druhý result nikdy nevráti, pretože prvá hodnota je menej obmedzujúca ako druhá hodnota. Výsledkom v tomto príklade je vždy A alebo C, ale nikdy B.
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
Nasledujúci príkaz vráti chybu, pretože typy údajov v argumentoch result sú odlišné. Nezabudnite, že typy údajov vo všetkých result a else argumentoch musia byť rovnaké.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)