Udostępnij przez


If i Switch funkcje

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

  1. Dodaj kontrolkę Text input i nadaj jej nazwę Text1, jeśli nazwa domyślna jest inna.

  2. W kontrolce Text1 wpisz wartość 30.

  3. 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.

  4. 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.

  5. W kontrolce Text1 wpisz wartość 50.

    Kontrolka Label wyświetla wpisaną wartość, ponieważ wartość jest większa od 40.