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ä expression tulosten 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 value
kanssa löytyy vastaavuus, palautetaan skalaariarvo vastaavasta result
. Jos vastaavuutta value
kanssa 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 parametriksiTRUE
. Katso esimerkkejä alla. - Kaikkien
result
lausekkeiden jaelse
-lausekkeen on oltava samaa tietotyyppiä. - Ehtojen järjestyksellä on väliä. Heti, kun yksi
value
vastaa, vastaavaaresult
palautetaan, eikä muita myöhempiävalues
arvioida. Varmista, että rajoittavin arvioitavavalues
määritetään ennen kuinvalues
vä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 TRUE
seuraavan 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
)