Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
berekende kolom
berekende tabel
Meting
Visuele berekening
Evalueert een expressie op basis van een lijst met waarden en retourneert een van meerdere mogelijke resultaatexpressies. Deze functie kan worden gebruikt om te voorkomen dat er meerdere geneste IF instructies zijn.
Syntaxis
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Parameters
| Term | Definitie |
|---|---|
expression |
Elke DAX-expressie die één scalaire waarde retourneert waarbij de expressie meerdere keren moet worden geëvalueerd (voor elke rij/context). |
value |
Een constante waarde die moet worden vergeleken met de resultaten van expression. |
result |
Scalaire expressies die moeten worden geëvalueerd als de resultaten van expression overeenkomen met de bijbehorende value. |
else |
Scalaire expressies die moeten worden geëvalueerd als het resultaat van expression niet overeenkomt met een van de value argumenten. |
Retourwaarde
Als er een overeenkomst is met een value, wordt een scalaire waarde van de bijbehorende result geretourneerd. Als er geen overeenkomst is met een value, wordt een waarde uit else geretourneerd. Als geen van de values overeenkomst en else niet is opgegeven, wordt BLANK geretourneerd.
Opmerkingen
- Het
expressiondat moet worden geëvalueerd, kan een constante waarde of een expressie zijn. Een veelvoorkomend gebruik van deze functie is het instellen van de eerste parameter opTRUE. Zie de onderstaande voorbeelden. - Alle
resultexpressies en deelse-expressie moeten van hetzelfde gegevenstype zijn. - De orde van voorwaarden is van belang. Zodra één
valueovereenkomt, wordt de bijbehorenderesultgeretourneerd en worden andere volgendevaluesniet geëvalueerd. Zorg ervoor dat de meest beperkendevaluesdie moeten worden geëvalueerd, worden opgegeven vóór minder beperkendevalues. Zie de onderstaande voorbeelden.
Voorbeelden
Een gemeenschappelijk gebruik van SWITCH is het vergelijken van expression met constante values. In het volgende voorbeeld wordt een berekende kolom met maandnamen gemaakt:
= 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"
)
Een ander veelvoorkomend gebruik van SWITCH is het vervangen van meerdere geneste IF instructies. Dit wordt bereikt door een expressie in te stellen op TRUE, zoals wordt weergegeven in het volgende voorbeeld, waarmee het niveau Van het opnieuw ordenen van punten en veiligheid op producten wordt vergeleken om potentiële risico's te identificeren van onvoldoende voorraad:
= 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"
)
De orde van values is van belang. In het volgende voorbeeld wordt de tweede result nooit geretourneerd omdat de eerste waarde minder beperkend is dan de tweede. Het resultaat in dit voorbeeld is altijd A of C, maar nooit B.
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
De volgende instructie retourneert een fout omdat de gegevenstypen in de result argumenten verschillend zijn. Houd er rekening mee dat de gegevenstypen in alle result en else argumenten hetzelfde moeten zijn.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)