KAPCSOLÓ
A következőre vonatkozik: Számított oszlop Számított tábla Mérték vizualizáció számítása
Kiértékel egy kifejezést egy értéklistán, és több lehetséges eredménykifejezés egyikét adja vissza. Ezzel a függvénnyel elkerülhető, hogy több beágyazott HA utasítás legyen.
Syntax
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Paraméterek
Időszak | Definíció |
---|---|
kifejezés | Bármely DAX-kifejezés, amely egyetlen skaláris értéket ad vissza, ahol a kifejezést többször kell kiértékelni (minden sorhoz/környezethez). |
Érték | A kifejezés eredményével egyeztetendő állandó érték. |
eredmény | Minden értékelendő skaláris kifejezés, ha a kifejezés eredménye megegyezik a megfelelő értékkel. |
else | Minden értékelendő skaláris kifejezés, ha a kifejezés eredménye nem egyezik az értékargumentumok egyikével sem. |
Visszaadott érték
Ha egyezés van egy értékkel, a függvény a megfelelő eredmény skaláris értékét adja vissza. Ha nincs egyezés egy értékkel, a függvény egy másiktól származó értéket ad vissza. Ha egyik érték sem egyezik meg, és nincs megadva, akkor a BLANK értéket adja vissza.
Megjegyzések
- A kiértékelendő kifejezés lehet állandó érték vagy kifejezés. A függvény gyakori használata az első paraméter IGAZ értékre állítása. Lásd az alábbi példákat.
- Minden eredménykifejezésnek és az egyéb kifejezésnek azonos adattípusúnak kell lennie.
- A feltételek sorrendje számít. Amint egy érték egyezik, a megfelelő eredmény lesz visszaadva, és a többi további érték nem lesz kiértékelve. Győződjön meg arról, hogy a kiértékelendő legkorlátozóbb értékek a kevésbé korlátozó értékek előtt vannak megadva. Lásd az alábbi példákat.
Példák
A SWITCH gyakori használata a kifejezés és az állandó értékek összehasonlítása. Az alábbi példa a hónapnevek számított oszlopát hozza létre:
= 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"
)
A SWITCH másik gyakori használata több beágyazott HA utasítás lecserélése. Ez úgy érhető el, hogy igaz értékre állítja a kifejezést, ahogyan az a következő példában is látható, amely összehasonlítja a termékekre vonatkozó pont- és biztonsági készletszintet a készlet elfogyásának lehetséges kockázatainak azonosítása érdekében:
= 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"
)
Az értékek sorrendje számít. Az alábbi példában a második eredmény soha nem lesz visszaadva, mert az első érték kevésbé korlátozó, mint a második. A példában szereplő eredmény mindig "A" vagy "C", de soha nem "B".
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
Az alábbi utasítás hibát ad vissza, mert az eredményargumentumok adattípusai eltérőek. Ne feledje, hogy az adattípusoknak minden eredményben és más argumentumban azonosnak kell lenniük.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)