Die PowerApps Switch Funktion ist im Grunde eine elegantere Lösung für eine If Funktion, die eine Variable auf verschiedene Werte prüft. Alles, was du mit der Switch Funktion machen kannst, kannst du auch mit der If Funktion umsetzen.
Die Switch Funktion macht deinen Code lesbarer, einfacher zu verstehen und einfacher zu pflegen. Ich möchte dich in diesem Artikel dazu ermuntern die Switch Funktion zu nutzen, wenn immer es passt.
Um dir ein Gefühl dafür zu geben, wann du die Switch Funktion anstatt der If Funktion nutzen solltest, hier eine Art Richtlinie.
Wann Du die PowerApps Switch Funktion nutzen solltest
Sobald man zwei oder mehr Bedingungen hat, die auf Gleichheit gegen die selbe Variable geprüft werden, sollte man darüber nachdenken, die Switch Funktion zu nutzen.
Warum sollte die Switch Funktion der If Funktion vorgezogen werden, wenn möglich
- Weniger code
- Besser zu lesen und besser zu verstehen
- Einfacher zu pflegen
Nutzungsbeispiel für die PowerApps Switch Funktion
Um dir ein besseres Gefühl für die Switch Funktion zu geben und was ihre Vorteile sind, hier ein konkretes Beispiel.
Stelle dir vor wir haben eine PowerApp für den Verkauf von Nahverkehrtickets mit der folgenden Preisstruktur.
Ticket Type | Price |
---|---|
Single Ride Ticket | $3 |
Pay-Per-Ride | $5 |
7-Day Unlimited Ride | $32 |
30-Day Unlimited Ride | $127 |
Der Benutzer kann auswählen, welche Art von Ticket er kaufen will. Basierend auf der Ticketart, soll der Ticketpreis angezeigt werden.
Das könnte in so aussehen:
Dafür erzeugen wir ein Drop Down Feld und setzen die ‚Items‘ Eigenschaft des Feldes wie folgt:
[
"Single Ride Ticket",
"Pay-Per-Ride",
"7-Day Unlimited Ride",
"30-Day Unlimited Ride"
]
Ich hab zwei Labels hinzugefügt: Ein Label um den ‚Ticket price:‘ darzustellen und eins um den Preis der gewählten Ticketart mit der Switch Funktion darzustellen.
"$" & Switch(
TicketTypesDropdown.Selected.Value,
"Single Ride Ticket",3,
"Pay-Per-Ride",5,
"7-Day Unlimited Ride",32,
"30-Day Unlimited Ride",127
)
Um zu verdeutlichen, warum in dem Beispiel die Switch Funktion eleganter als die If Funktion ist, hier die selbe Lösung mit der If Funktion.
"$" & If(
TicketTypesDropdown.SelectedText.Value = "Single Ride Ticket",3,
TicketTypesDropdown.SelectedText.Value = "Pay-Per-Ride",5,
TicketTypesDropdown.SelectedText.Value = "7-Day Unlimited Ride",32,
TicketTypesDropdown.SelectedText.Value = "30-Day Unlimited Ride",123
)
Wie man sieht, in der Switch Funktion wird „TicketTypesDropdown.SelectedText.Value“ nur einmal genutzt. Dadurch wird der Code leichter zu lesen und Änderungen sind ebenfalls einfacher.
PowerApps Switch Funktion im Detail
Syntax
Switch( Formula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
Eingangsparameter
- Formula (Pflichtfeld): Der Wert, der auf Gleichheit geprüft werden soll.
- Match1 (Pflichtfeld): Ein Vergleichswert zum zu prüfenden Wert.
- Result1 (Pflichtfeld): Der Rückgabewert für den Fall, das der Vergleichswert gleich zum zu prüfenden Wert ist. (Es sind mehre Match & Result Paare möglich)
- DefaultResult (optional): Es gibt die Möglichkeit einen Standardwert festzulegen, wenn keiner der Vergleichswerte identisch zum zu prüfenden Wert ist.
Rückgabewert
- Result1, wenn Match1 gleich dem zu prüfenden Wert ist, Result2 wenn Match2 gleich dem zu prüfenden Wert ist, …
- DefaultResult, wenn DefaultResult definiert ist und kein Match zum zu prüfenden Wert passt.
- Blank, wenn es kein DefaultResult gibt und kein Match zum zu prüfenden Wert passt.
Beispiel: Switch Funktion mit Default
Ein weiteres Beispiel für die Nutzung der Switch Funktion. Stelle dir vor, du willst Schüler nach der Anzahl der Kurse, die sie besucht haben, in verschiedenen Stufen kategorisieren.
Switch(NumberOfLessons,
0, "Beginner",
1, "Beginner",
2, "Intermediate",
3," Professional",
"Expert"
)
Das Ergebnis für die jeweiligen Werte:
- 0,1: Beginner
- 2: Intermediate
- 3: Professional
- Alle anderen Werte: Expert