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
)
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for