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
)