PREPNÚŤ

Vzťahuje sa na:Vypočítaný stĺpecVypočítaná tabuľkaVýpočet vizuálu mierky

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
Výraz Akýkoľvek výraz jazyka DAX, ktorý vracia jednu skalárnu hodnotu, pričom výraz sa má vyhodnotiť viackrát (pre každý riadok alebo kontext).
hodnota Konštantná hodnota, ktorá sa má zhodovať s výsledkami výrazu.
výsledok Každý skalárny výraz, ktorý sa má vyhodnotiť, ak sa výsledky výrazu zhodujú so zodpovedajúcou hodnotou.
else Každý skalárny výraz, ktorý sa má vyhodnotiť, ak sa výsledok výrazu nezhoduje so žiadnym argumentom hodnoty.

Vrátená hodnota

Ak dôjde k zhode s hodnotou, vráti sa skalárna hodnota zo príslušného výsledku. Ak sa zhoda s hodnotou nezhoduje, vráti sa hodnota z inej. Ak sa žiadna z hodnôt nezhoduje a iné nie je zadané, vráti sa hodnota BLANK.

Poznámky

  • Výraz, ktorý sa má vyhodnotiť, môže byť konštantnou hodnotou alebo výrazom. Bežným použitím tejto funkcie je nastavenie prvého parametra na hodnotu TRUE. Pozrite si príklady nižšie.
  • Všetky výsledné výrazy a výraz else musia mať rovnaký typ údajov.
  • Na poradí podmienok záleží. Akonáhle sa jedna hodnota zhoduje, vráti sa zodpovedajúci výsledok a ďalšie nasledujúce hodnoty sa nevyhodnocujú. Uistite sa, že najprísnejšie hodnoty , ktoré sa majú vyhodnotiť, sú zadané pred menej reštriktívnym hodnotami. Pozrite si príklady nižšie.

Príklady

Bežným použitím funkcie SWITCH je porovnanie výrazu s konštantnými hodnotami. 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 funkcie SWITCH je nahradenie viacerých vnorených príkazov IF. Dosahuje sa to nastavením výrazu na hodnotu TRUE, ako je to znázornené v nasledujúcom príklade, ktorý porovná hodnoty Zmena poradia bodu a Trezor úroveň zásob produktov s cieľom identifikovať potenciálne riziká vyskladnenia 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í hodnôt záleží. V nasledujúcom príklade sa druhý výsledok nikdy nevráti, pretože prvá hodnota je menej reštriktívna 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 vo výsledných argumentoch sa líšia. Nezabudnite, že typy údajov vo všetkých výsledných a iných argumentoch musia byť rovnaké.

= SWITCH (
        [Class],
        "L", "Large",
        "H", 0.1
        )