Jaa


KYTKIN

Koskee: Lasketun sarakkeen lasketun taulukon mittarinvisuaalinen 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ä
expression Mikä tahansa DAX-lauseke, joka palauttaa yksittäisen skalaariarvon, jossa lauseke pitää laskea useasti (joka riville tai joka kontekstille).
value Vakioarvo, joka on täsmäytettävä expressiontulosten kanssa.
result Mikä tahansa arvioitava skalaarilauseke, jos expression tulokset vastaavat vastaavaa value.
else Mikä tahansa arvioitava skalaarilauseke, jos expression tulos ei vastaa mitään value argumenteista.

Palautusarvo

Jos valuekanssa löytyy vastaavuus, palautetaan skalaariarvo vastaavasta result. Jos vastaavuutta valuekanssa ei ole, palautetaan else arvo. Jos mitään values vastaavuutta ja else ei määritetä, palautetaan BLANK.

Huomautukset

  • Laskettava expression voi olla vakioarvo tai lauseke. Tämän funktion yleinen käyttötarkoitus on määrittää ensimmäiseksi parametriksi TRUE. Katso esimerkkejä alla.
  • Kaikkien result lausekkeiden ja else-lausekkeen on oltava samaa tietotyyppiä.
  • Ehtojen järjestyksellä on väliä. Heti, kun yksi value vastaa, vastaavaa result palautetaan, eikä muita myöhempiä values arvioida. Varmista, että rajoittavin arvioitava values määritetään ennen kuin valuesvähemmän rajoittava. Katso esimerkkejä alla.

Esimerkit

SWITCH-funktion avulla yleensä verrataan expression vakioon values. 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 määrittämällä lauseke TRUEseuraavan esimerkin mukaisesti. Siinä verrataan tuotteiden uudelleenjärjestelypisteen ja turvallisuuden varastotasoa 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"
        )


values järjestys on tärkeä. Seuraavassa esimerkissä toista result 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 result-argumenttien tietotyypit ovat erilaiset. Muista, että kaikkien result ja else-argumenttien tietotyyppien on oltava samat.

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