Muistiinpano
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoja.
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoja.
Koskee seuraavia:
Laskettu sarake
Laskettu taulukko
Mittayksikkö
Visuaalinen laskenta -
Laskee lausekkeen suhteessa arvoluetteloon ja palauttaa yhden useista mahdollisista tuloslausekkeista. Tämän funktion avulla voidaan välttää useiden sisäkkäisten IF-lausekkeiden ottaminen käyttöön.
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 ei täsmää ja else ei ole määritetty, palautetaan BLANK.
Huomautukset
- Laskettava
expressionvoi olla vakioarvo tai lauseke. Tämän funktion yleinen käyttötarkoitus on määrittää ensimmäiseksi parametriksiTRUE. Katso esimerkkejä alla. - Kaikkien
resultlausekkeiden jaelse-lausekkeen on oltava samaa tietotyyppiä. - Ehtojen järjestyksellä on väliä. Heti, kun yksi
valuevastaa, vastaavaaresultpalautetaan, eikä muita myöhempiävaluesarvioida. Varmista, että rajoittavin arvioitavavaluesmääritetään ennen kuinvaluesvähemmän rajoittava. Katso esimerkkejä alla.
Esimerkit
SWITCH 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 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
)