Jaa


KYTKIN

Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus

Laskee lausekkeen suhteessa arvoluetteloon ja palauttaa yhden useista mahdollisista tuloslausekkeista. Tämän funktion avulla voidaan välttää useiden sisäkkäisten IF-lausekkeiden lisääminen.

Syntaksi

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

Parametrit

Termi Määritelmä
lauseke Mikä tahansa DAX-lauseke, joka palauttaa yksittäisen skalaariarvon, jossa lauseke pitää laskea useasti (joka riville tai joka kontekstille).
arvo Vakioarvo, joka on täsmäytetty lausekkeen tulosten kanssa.
tulos Mikä tahansa arvioitava skalaarilauseke, jos lausekkeen tulokset vastaavat vastaavaa arvoa.
else Mikä tahansa arvioitava skalaarilauseke, jos lausekkeen tulos ei vastaa mitään arvo-argumenteista.

Palautusarvo

Jos arvolle löytyy vastaavuus, palautetaan vastaavasta tuloksesta skalaariarvo. Jos arvoa vastaan ei ole vastaavuutta, palautetaan arvo muualta. Jos mitään arvoista ei täsmää eikä muuta määritetä, palautetaan TYHJÄ.

Huomautukset

  • Laskettava lauseke voi olla vakioarvo tai lauseke. Tämän funktion yleinen käyttötarkoitus on määrittää ensimmäisen parametrin arvoksi TRUE. Katso esimerkkejä alla.
  • Kaikkien tuloslausekkeiden ja else-lausekkeen on oltava samaa tietotyyppiä.
  • Ehtojen järjestyksellä on väliä. Heti, kun yksi arvo vastaa, vastaava tulos palautetaan, ja muita myöhempiä arvoja ei arvioida. Varmista, että rajoittavimmat arvioitavat arvot on määritetty vähemmän rajoittavien arvojen sijaan. Katso esimerkkejä alla.

Esimerkit

SWITCH-funktion avulla yleensä verrataan lauseketta vakioarvoihin. Seuraava esimerkki luo lasketun kuukauden nimien sarakkeen:

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

Toinen SWITCH-funktion yleinen käyttötarkoitus on korvata useita sisäkkäisiä IF-lausekkeita. Tämä toteutetaan asettamalla lausekkeen arvoksi TRUE seuraavassa esimerkissä esitetyllä tavalla. Siinä verrataan tuotteiden uudelleenjärjestelypiste- ja turvallisuusvarastotasoa mahdollisten varastojen loppumiseen liittyvien riskien tunnistamiseen:

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


Arvojen järjestyksellä on väliä. Seuraavassa esimerkissä toista tulosta ei koskaan palauteta, koska ensimmäinen arvo on vähemmän rajoittava kuin toinen. Tässä esimerkissä tulos on aina "A" tai "C", mutta ei koskaan "B".

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

Seuraava lauseke palauttaa virheen, koska tulosargumenttien tietotyypit ovat erilaiset. Muista, että kaikkien tulos - ja muuten-argumenttien tietotyyppien on oltava samat.

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