BYTTE

Gjelder beregnet beregning av beregnet tabellfor beregnet kolonne

Evaluerer et uttrykk mot en liste over verdier og returnerer ett av flere mulige resultatuttrykk. Denne funksjonen kan brukes til å unngå å ha flere nestede HVIS-setninger .

Syntaks

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])  

Parametere

Term Definisjon
Uttrykk Alle DAX-uttrykk som returnerer én skalarverdi der uttrykket skal evalueres flere ganger (for hver rad/kontekst).
verdi En konstant verdi som skal samsvares med resultatet av uttrykket.
resultat Alle skalaruttrykk som skal evalueres hvis resultatet av uttrykket samsvarer med den tilsvarende verdien.
else Alle skalaruttrykk som skal evalueres hvis resultatet av uttrykket ikke samsvarer med noen av verdiargumentene .

Returverdi

Hvis det er et samsvar med en verdi, returneres en skalarverdi fra det tilsvarende resultatet . Hvis det ikke er et samsvar med en verdi, returneres en verdi fra det andre . Hvis ingen av verdiene samsvarer og andre ikke er angitt, returneres BLANK.

Merknader

  • Uttrykket som skal evalueres, kan være en konstant verdi eller et uttrykk. En vanlig bruk av denne funksjonen er å sette den første parameteren til SANN. Se eksempler nedenfor.
  • Alle resultatuttrykk og det andre uttrykket må være av samme datatype.
  • Rekkefølgen på betingelsene er viktig. Så snart én verdi samsvarer, returneres det tilsvarende resultatet , og andre etterfølgende verdier evalueres ikke. Kontroller at de mest restriktive verdiene som skal evalueres, er angitt før mindre restriktive verdier. Se eksempler nedenfor.

Eksempler

En vanlig bruk av SWITCH er å sammenligne uttrykk med konstante verdier. Følgende eksempel oppretter en beregnet kolonne med månedsnavn:

= 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"
        )

En annen vanlig bruk av SWITCH er å erstatte flere nestede IF-setninger. Dette oppnås ved å sette uttrykk til TRUE, som vist i eksemplet nedenfor, som sammenligner omorganiseringspunkt og sikkerhetslagernivå på produkter for å identifisere potensielle risikoer ved å gå tom for lager:

= 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"
        )


Verdirekkefølgen er viktig. I eksemplet nedenfor returneres aldri det andre resultatet fordi den første verdien er mindre restriktiv enn den andre. Resultatet i dette eksemplet er alltid «A» eller «C», men aldri «B».

= SWITCH (
         TRUE,
         Product[Standard Cost] < 100, "A",
         Product[Standard Cost] < 10, "B",
         "C"
         )

Følgende setning returnerer en feil fordi datatypene i resultatargumentene er forskjellige. Husk at datatypene i alle resultater og andre argumenter må være de samme.

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