Del via


OMSKIFTER

Gælder for: Beregning af målingsvisualisering for beregnet kolonne i beregnet tabel

Evaluerer et udtryk i forhold til en liste over værdier og returnerer et af flere mulige resultatudtryk. Denne funktion kan bruges til at undgå at have flere indlejrede IF-sætninger .

Syntaks

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

Parametre

Begreb Definition
udtryk Ethvert DAX-udtryk, der returnerer en enkelt skalarværdi, hvor udtrykket skal evalueres flere gange (for hver række/kontekst).
værdi En konstant værdi, der skal matches med resultaterne af udtrykket.
resultat Ethvert skalarudtryk, der skal evalueres, hvis resultaterne af udtrykket stemmer overens med den tilsvarende værdi.
else Ethvert skalarudtryk, der skal evalueres, hvis resultatet af udtrykket ikke stemmer overens med nogen af værdiargumenterne.

Returværdi

Hvis der er et match med en værdi, returneres der en skalarværdi fra det tilsvarende resultat . Hvis der ikke er et match med en værdi, returneres der en værdi fra else . Hvis ingen af værdierne stemmer overens, og ellers ikke er angivet, returneres BLANK.

Bemærkninger

  • Det udtryk , der skal evalueres, kan være en konstant værdi eller et udtryk. En almindelig brug af denne funktion er at angive den første parameter til TRUE. Se eksempler nedenfor.
  • Alle resultatudtryk og else-udtrykket skal være af samme datatype.
  • Rækkefølgen af betingelser er vigtig. Så snart én værdi stemmer overens, returneres det tilsvarende resultat , og andre efterfølgende værdier evalueres ikke. Sørg for, at de mest restriktive værdier , der skal evalueres, er angivet før mindre restriktive værdier. Se eksempler nedenfor.

Eksempler

En almindelig brug af SWITCH er at sammenligne udtryk med konstante værdier. I følgende eksempel oprettes en beregnet kolonne med månedsnavne:

= 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 anden almindelig brug af SWITCH er at erstatte flere indlejrede IF-sætninger. Dette opnås ved at angive udtryk til TRUE, som vist i følgende eksempel, som sammenligner Genbestillingspunkt og Sikkerhedslagerniveau for produkter for at identificere potentielle risici ved at løbe tør 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"
        )


Rækkefølgen af værdier er vigtig. I følgende eksempel returneres det andet resultat aldrig, fordi den første værdi er mindre restriktiv end den anden. Resultatet i dette eksempel er altid "A" eller "C", men aldrig "B".

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

Følgende sætning returnerer en fejl, fordi datatyperne i resultatargumenterne er forskellige. Vær opmærksom på, at datatyperne i alle resultat- og ellers-argumenter skal være de samme.

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