Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Aplikacje
kanwy Copilot Studio
Desktop przepływy formuły
Dataverse kolumny
Oparte na modelu Aplikacje
interfejsu wiersza polecenia
platformy Power Platform Funkcje
usługi PowerVerse w usłudze Power Pages
Określa, czy dowolny warunek w zestawie ma wartość true (If), czy wynik formuły pasuje do dowolnej wartości w zestawie (Switch), a następnie zwraca wynik lub wykonuje akcję.
Opis
Funkcja If testuje co najmniej jeden warunek, dopóki nie zostanie znaleziony prawdziwy wynik. If taki wynik zostanie znaleziony, zostanie zwrócona odpowiadająca wartość. If nie znaleziono takiego wyniku, zwracana jest wartość domyślna. W obu przypadkach zwrócona wartość może być ciągiem w postaci do wyświetlenia, formułą do obliczenia lub wynikiem w innej postaci.
Funkcja Switch ocenia formułę i określa, czy wynik pasuje do dowolnej wartości w określonej sekwencji. If Znaleziono dopasowanie, zwracana jest odpowiednia wartość. If nie znaleziono dopasowania, zwracana jest wartość domyślna. W obu przypadkach zwrócona wartość może być ciągiem w postaci do wyświetlenia, formułą do obliczenia lub wynikiem w innej postaci.
If i Switch są bardzo podobne, ale należy użyć najlepszej funkcji w danej sytuacji:
- Użyj If polecenia , aby ocenić pojedynczy warunek. Najczęstszą składnią tej funkcji jest If( Warunek, ThenResult, DefaultResult ), która udostępnia typową składnię "if ... wtedy... else…” dostępny w innych narzędziach programistycznych.
- Użyj If polecenia , aby ocenić wiele niepowiązanych warunków. W usłudze Power Apps (w przeciwieństwie do programu Microsoft Excel) można określić wiele warunków bez konieczności zagnieżdżania If formuł.
- Użyj Switch polecenia , aby ocenić pojedynczy warunek pod kątem wielu możliwych dopasowań. Można również użyć If w tym przypadku, ale należy powtórzyć formułę dla każdego możliwego dopasowania.
Obu tych funkcji można użyć w formułach zachowania w celu utworzenia gałęzi prowadzących do co najmniej dwóch akcji. Tylko jedna gałąź spowoduje wyzwolenie akcji. Warunki i dopasowania są obliczane po kolei, a przetwarzanie jest zatrzymywane po napotkaniu warunku o wartości true lub znalezieniu dopasowania.
Wartość pusta jest zwracana, jeśli nie są spełnione żadne warunki, nie znaleziono żadnych dopasowań i nie określisz wyniku domyślnego.
Składnia
If( Warunek, ThenResult [, DefaultResult ] )
If( Warunek1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Warunki - Wymagane. Co najmniej jedna formuła do testowania pod kątem wartości true. Takie formuły zwykle zawierają operatory porównania (takie jak <, > i =) i funkcje testowe (takie jak IsBlank i IsEmpty).
- NastępnieWyniki - wymagane. Odpowiadająca wartość do zwrócenia dla warunku, którego obliczenie daje wartość true.
- DefaultResult - Opcjonalne. Wartość zwracana, gdy obliczenie żadnego warunku nie daje wartości true. If Nie określasz tego argumentu, zwracana jest pusta wartość.
Switch( Formuła, Dopasowanie1, Wynik1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Formuła - Wymagane. Formuła obliczana pod kątem dopasowań. Jest ona obliczana tylko raz.
- Dopasowania - Wymagane. Wartości do porównania z wynikiem, który daje Formuła. If znaleziono dokładne dopasowanie, zwracany jest odpowiedni wynik .
- Wyniki - Wymagane. Odpowiadająca wartość zwracana, gdy zostanie znalezione dokładne dopasowanie.
- DefaultResult - Opcjonalne. If Nie można odnaleźć dokładnego dopasowania. Ta wartość jest zwracana. If Nie określasz tego argumentu, zwracana jest pusta wartość.
Przykłady
Wartości w formułach
W poniższych przykładach kontrolka Slider (o nazwie Slider1) ma wartość 25.
| Formuła | Opis | Result |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | Warunek ma wartość true i zostanie zwrócony odpowiadający wynik. | „Result1” |
| If( Slider1.Value = 25, "Result1", "Result2" ) | Warunek ma wartość true i zostanie zwrócony odpowiadający wynik. | „Result1” |
| If( Slider1.Value > 1000, "Result1" ) | Warunek ma wartość false i nie określono wartości WynikDomyślny. | pusty |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | Warunek ma wartość false i podano wartość WynikDomyślny, która zostanie zwrócona. | „Result2” |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | Pierwszy warunek ma wartość true i zostanie zwrócony odpowiedni wynik. Drugi warunek ma także wartość true, ale nie jest obliczany, ponieważ znajduje się dalej na liście argumentów niż warunek, który daje wynik true. | „Result1” |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | Pierwszy warunek ma wartość false, ponieważ suwak nie ma wartości pustej. Drugi warunek ma wartość true, ponieważ wartość suwaka jest liczbą, i zostanie zwrócony odpowiadający wynik. | „Result2” |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | Pierwszy i drugi warunek mają wartość false i określono wartość WynikDomyślny, która zostanie zwrócona. | „Result3” |
| Switch( Slider1.Value, 25, "Result1" ) | Wartość suwaka pasuje do pierwszej sprawdzanej wartości i zostanie zwrócony odpowiadający wynik. | „Result1” |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | Wartość suwaka pasuje do drugiej sprawdzanej wartości i zostanie zwrócony odpowiadający wynik. | „Result2” |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | Wartość suwaka nie pasuje do żadnej sprawdzanej wartości. Podano wartość DefaultResult, która zostanie zwrócona. | „DefaultResult” |
Rozgałęzianie w formułach zachowania
W poniższych przykładach w kontrolce Text input o nazwie FirstName jest wpisana wartość „Jan”.
| Formuła | Opis | Result |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | Warunek ma wartość true, więc zostanie uruchomiona funkcja Navigate. Funkcja IsBlank umożliwia sprawdzenie, czy wymagane pole formularza zostało wypełnione. If Wartość FirstName była pusta, ta formuła nie miała żadnego efektu. |
prawdziwy Wyświetlanie zostanie przełączone na ekran o nazwie Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | Bez operatora ! warunek ma wartość false, więc funkcja Navigate nie zostanie uruchomiona. Funkcja Back została podana jako wartość WynikDomyślny, więc zostanie uruchomiona. |
prawdziwy Wyświetlanie zostanie przełączone z powrotem na poprzedni ekran. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | Wartość FirstName.Text zostanie porównana z wartościami „Carlos”, „Kirstin” i „John” w tej kolejności. Zostanie znalezione dopasowanie z wartością „John”, więc aplikacja przejdzie do ekranu o nazwie Screen3. |
prawdziwy Wyświetlanie zostanie przełączone na ekran o nazwie Screen3. |
Krok po kroku
Dodaj kontrolkę Text input i nadaj jej nazwę Text1, jeśli nazwa domyślna jest inna.
W kontrolce Text1 wpisz wartość 30.
Dodaj kontrolkę Label i ustaw jej właściwość Text na następującą formułę:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )Kontrolka Etykieta wyświetla wartość Zamów więcej!, ponieważ wartość kontrolki Text1 jest większa niż 20, lecz mniejsza niż 40.
W kontrolce Text1 wpisz wartość 15.
Kontrolka Etykieta wyświetla wartość Zamów dużo więcej!, ponieważ wartość kontrolki Text1 jest mniejsza niż 20.
W kontrolce Text1 wpisz wartość 50.
Kontrolka Label wyświetla wpisaną wartość, ponieważ wartość jest większa od 40.