Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Berechnete Spalte
Berechnete Tabelle
Measure
visuelle Berechnung
Wertet einen Ausdruck anhand einer Liste von Werten aus und gibt einen von mehreren möglichen Ergebnisausdrücken zurück. Diese Funktion kann verwendet werden, um zu vermeiden, dass mehrere geschachtelte IF-Anweisungen vorhanden sind.
Syntax
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Parameter
| Begriff | Definition |
|---|---|
expression |
Jeder DAX Ausdruck, der einen einzelnen skalaren Wert zurückgibt, in dem der Ausdruck mehrmals ausgewertet werden soll (für jede Zeile/jeden Kontext). |
value |
Ein konstanter Wert, der mit den Ergebnissen von expressionabgeglichen werden soll. |
result |
Ein skalarer Ausdruck, der ausgewertet werden soll, wenn die Ergebnisse von expression mit dem entsprechenden valueübereinstimmen. |
else |
Ein skalarer Ausdruck, der ausgewertet werden soll, wenn das Ergebnis von expression keinem der value Argumente entspricht. |
Rückgabewert
Wenn eine Übereinstimmung mit einem valuevorhanden ist, wird ein skalarer Wert aus dem entsprechenden result zurückgegeben. Wenn keine Übereinstimmung mit einem valuevorhanden ist, wird ein Wert aus else zurückgegeben. Wenn keine der values übereinstimmen und else nicht angegeben ist, wird BLANK zurückgegeben.
Hinweise
- Die zu bewertende
expressionkann ein konstanter Wert oder ein Ausdruck sein. Eine häufige Verwendung dieser Funktion besteht darin, den ersten Parameter aufTRUEfestzulegen. Siehe folgende Beispiele. - Alle
resultAusdrücke und derelseAusdruck müssen denselben Datentyp aufweisen. - Die Reihenfolge der Bedingungen ist wichtig. Sobald ein
valueübereinstimmt, wird die entsprechenderesultzurückgegeben, und andere nachfolgendevalueswerden nicht ausgewertet. Stellen Sie sicher, dass die restriktivstenvalues, die ausgewertet werden sollen, vor weniger restriktivvaluesangegeben werden. Siehe folgende Beispiele.
Beispiele
Eine häufige Verwendung von SWITCH besteht darin, expression mit konstanten valueszu vergleichen. Im folgenden Beispiel wird eine berechnete Spalte mit Monatsnamen erstellt:
= 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"
)
Eine weitere häufige Verwendung von SWITCH besteht darin, mehrere geschachtelte IF-Anweisungen zu ersetzen. Dies wird durch Festlegen des Ausdrucks auf TRUEerreicht, wie im folgenden Beispiel dargestellt, das die Neuanordnung von Punkt- und Sicherheitsbeständen auf Produkten vergleicht, um potenzielle Risiken zu erkennen, die nicht mehr vorrätig sind:
= 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"
)
Die Reihenfolge der values ist wichtig. Im folgenden Beispiel wird die zweite result nie zurückgegeben, da der erste Wert weniger restriktiv ist als die zweite. Das Ergebnis in diesem Beispiel ist immer A oder C, aber nie B.
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
Die folgende Anweisung gibt einen Fehler zurück, da die Datentypen in den result Argumenten unterschiedlich sind. Beachten Sie, dass die Datentypen in allen result und else Argumenten identisch sein müssen.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)