Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Számított oszlop
Számított tábla
Mérték
Vizualizációszámítási
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 IF utasítás legyen.
Syntax
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Paraméterek
| Időszak | Definíció |
|---|---|
expression |
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). |
value |
A expressioneredményeivel egyeztetendő állandó érték. |
result |
Minden értékelendő skaláris kifejezés, ha a expression eredményei megegyeznek a megfelelő value. |
else |
Bármely kiértékelendő skaláris kifejezés, ha a expression eredménye nem egyezik meg a value argumentumok egyikével sem. |
Visszaadott érték
Ha egyezés van egy value, a függvény a megfelelő result skaláris értékét adja vissza. Ha nincs egyezés a value, a else értéke lesz visszaadva. Ha egyik values sem egyezik meg, és a else nincs megadva, BLANK lesz visszaadva.
Megjegyzések
- A kiértékelendő
expressionlehet állandó érték vagy kifejezés. Ennek a függvénynek a gyakori használata az első paraméter beállításaTRUE. Lásd az alábbi példákat. - Minden
resultkifejezésnek és aelsekifejezésnek azonos adattípusúnak kell lennie. - A feltételek sorrendje számít. Amint egy
valueegyezik, a megfelelőresultlesz visszaadva, és a többi későbbivaluesnem lesz kiértékelve. Győződjön meg arról, hogy a legszigorúbbvaluesa kevésbé korlátozóvalueselőtt van megadva. Lásd az alábbi példákat.
Példák
A SWITCH gyakran használják a expression és az állandó valuesö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 IF utasítás cseréje. Ez úgy érhető el, hogy a kifejezés TRUEértékre van állítva, amint az a következő példában látható, amely összehasonlítja a termékekre vonatkozó átrendezéspont- é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"
)
A values sorrendje számít. Az alábbi példában a második result soha nem adja vissza, 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 result argumentumok adattípusai eltérőek. Ne feledje, hogy az összes result és else argumentum adattípusának azonosnak kell lennie.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)