Sprawdzanie wielu wartości przy użyciu wyrażeń w warunkach

W tym samouczku dowiesz się, jak porównywać wiele wartości w trybie zaawansowanym przy użyciu wyrażeń i warunków.

Po utworzeniu przepływu w chmurze możesz przy użyciu karty Warunek w trybie podstawowym szybko porównać jedną wartość z inną wartością. Jednak niektóre sytuacje wymagają porównania wielu wartości. Może być na przykład konieczne sprawdzenie wartości kilku kolumn w arkuszu kalkulacyjnym lub bazie danych.

W warunkach możesz użyć dowolnej kombinacji następujących wyrażeń logicznych.

Expression Opis Przykład
and Przyjmuje dwa argumenty i zwraca wartość true, jeśli obie wartości mają wartość true.
Uwaga: oba argumenty muszą być wartościami logicznymi.
To wyrażenie zwraca wartość false:
and(greater(1,10),equals(0,0))
or Przyjmuje dwa argumenty i zwraca wartość true, jeśli jeden z argumentów ma wartość true.
Uwaga: oba argumenty muszą być wartościami logicznymi.
To wyrażenie zwraca wartość true:
or(greater(1,10),equals(0,0))
equals Zwraca wartość true, jeśli dwie wartości są równe. Jeśli na przykład parametr parameter1 ma wartość someValue, to wyrażenie zwróci wartość true:
equals(parameters('parameter1'), 'someValue')
less Przyjmuje dwa argumenty i zwraca wartość true, jeśli wartość pierwszego argumentu jest mniejsza niż wartość drugiego argumentu.
Uwaga: obsługiwane typy to liczba całkowita, liczba zmiennoprzecinkowa i ciąg.
To wyrażenie zwraca wartość true:
less(10,100)
lessOrEquals Przyjmuje dwa argumenty i zwraca wartość true, jeśli pierwszy argument ma wartość równą wartości drugiego argumentu lub mniejszą.
Uwaga: obsługiwane typy to liczba całkowita, liczba zmiennoprzecinkowa i ciąg.
To wyrażenie zwraca wartość true:
lessOrEquals(10,10)
greater Przyjmuje dwa argumenty i zwraca wartość true, jeśli wartość pierwszego argumentu jest większa niż wartość drugiego argumentu.
Uwaga: obsługiwane typy to liczba całkowita, liczba zmiennoprzecinkowa i ciąg.
To wyrażenie zwraca wartość false:
greater(10,10)
greaterOrEquals Przyjmuje dwa argumenty i zwraca wartość true, jeśli pierwszy argument ma wartość równą wartości drugiego argumentu lub większą.
Uwaga: obsługiwane typy to liczba całkowita, liczba zmiennoprzecinkowa i ciąg.
To wyrażenie zwraca wartość false:
greaterOrEquals(10,100)
empty Zwraca wartość true, jeśli obiekt, tablica lub ciąg są puste. To wyrażenie zwraca wartość true:
empty('')
not Zwraca odwrotną wartość logiczną. To wyrażenie zwraca wartość true:
not(contains('200 Success','Fail'))
if Zwraca określoną wartość, jeśli wynikiem wyrażenia jest wartość true lub false. To wyrażenie zwraca wartość „yes”:
if(equals(1, 1), 'yes', 'no')

Wymagania wstępne

Oto, czego potrzebujesz, aby ukończyć ten przewodnik.

  • Dostęp do usługi Power Automate.
  • Własny arkusz kalkulacyjny z tabelami opisanymi w dalszej części tego przewodnika. Pamiętaj, aby zapisać swój arkusz kalkulacyjny w lokalizacji takiej jak usługa Dropbox lub Microsoft OneDrive, aby usługa Power Automate mogła uzyskać do niego dostęp.
  • Microsoft 365 Outlook (używamy tutaj programu Outlook, ale w swoich przepływach możesz też używać dowolnej innej obsługiwanej usługi poczty e-mail).

Używanie wyrażenia „or”

Czasami w przepływie pracy wymagane jest podjęcie akcji, jeśli wartością elementu jest wartośćA lub wartośćB. Możesz na przykład śledzić stan zadań w tabeli arkusza kalkulacyjnego. Załóżmy, że tabela ma kolumnę o nazwie Stan, a wartości możliwe do wpisania w tej kolumnie to:

  • zakończono
  • zablokowano
  • niewymagane
  • nierozpoczęte

Oto przykład, jak może wyglądać taki arkusz kalkulacyjny:

Zrzut ekranu przykładowego arkusza kalkulacyjnego z kolumną Stan.

Przy użyciu usługi Power Automate chcesz w powyższym arkuszu kalkulacyjnym usunąć wszystkie wiersze, w których w kolumnie Status występuje wartość zakończono lub niewymagane.

Utwórzmy przepływ.

Zaczynanie od pustego przepływu

  1. Zaloguj się w Power Automate.

  2. W lewym okienku wybierz Moje przepływy.

  3. Wybierz nowy przepływ>zaplanowanego przepływu w chmurze.

Dodawanie wyzwalacza do przepływu

  1. Nadaj przepływowi nazwę.

  2. Ustaw harmonogram tak, aby przepływ był uruchamiany raz dziennie.

  3. Wybierz przycisk Utwórz, aby przejść do następnego kroku.

Uwaga

W usłudze Power Automate między innymi jest używany klasyczny projektant przepływów w chmurze lub projektant przepływów w chmurze z funkcją Copilot. Aby ustalić, którego projektanta używasz, przejdź do sekcji Uwaga w temacie Opis nowego projektanta przepływów w chmurze z możliwościami pomocnika.

Wybieranie arkusza kalkulacyjnego i pobieranie wszystkich wierszy

  1. Wybierz pozycję Nowy krok.

  2. Wyszukaj pozycję wiersze, a następnie wybierz pozycję Excel Online (biznes).

    Wybierz akcję pobierz wiersz odpowiadającą używanemu arkuszowi kalkulacyjnemu. Jeśli na przykład korzystasz z usługi Arkusze Google, wybierz pozycję Arkusze Google — Pobierz wiersze.

  3. Wybierz działanie Lista wierszy obecnych w tabeli.

    Zrzut ekranu przedstawiający wiersze w tabeli.

  4. Wybierz lokalizację,bibliotekę dokumentów, plik i tabelę zawierające dane.

    Zrzut ekranu przedstawiający pola Lokalizacja, Biblioteka dokumentów, Plik i Tabela w wierszach Lista obecnych w karcie tabeli.

Sprawdź kolumnę stanu każdego wiersza

  1. Wybierz pozycję Nowy krok.

  2. Wyszukaj zastosowanie do każdego z nich, a następnie wybierz opcję Zastosuj do każdej — Kontrolka.

  3. Dodaj token wartość do pola Wybierz dane wyjściowe z poprzednich kroków.

    Ten token wartości reprezentuje tabelę arkusza kalkulacyjnego i wszystkie jej dane.

  4. Na karcie Zastosuj do każdej karty wybierz opcję Dodaj akcję.

  5. Wyszukaj warunek, a następnie wybierz kontrolkę Warunek.

  6. Dodaj następujące wyrażenie Or. To Or wyrażenie sprawdza wartość każdego wiersza w tabeli. Jeśli wartość kolumny Stan to zakończone lubzbędne, to wyrażenie Or ocenia na "true".

    Oto przykład karty Warunek.

    Zrzut ekranu edytora wyrażenia „or”.

Usuwanie pasujących wierszy z arkusza kalkulacyjnego

  1. Wybierz pozycję Dodaj akcję w gałęzi Jeśli tak warunku.

    Gałąź Jeśli tak jest uruchamiana, jeśli warunek OR ma wartość true.

  2. Wyszukaj pozycję Usuń wiersz, wybierz opcję Excel Online (Biznes), a następnie wybierz opcję Usuń wiersz.

  3. Na karcie Usuwanie wiersza ustaw pola Lokalizacja, Biblioteka dokumentów, Plik i Tabela dokładnie tak, jak w wierszach listy obecnych w kartce tabeli wcześniej w tym samouczku.

  4. Z listy rozwijanej Klucz kolumny wybierz pozycję _PowerAppsId_.

  5. W polu Wartość klucza wstaw wartość dynamiczną _PowerAppsIs_.

  6. Zapisz przepływ.

Uruchamianie przepływu z wyrażeniem „or”

Przepływ zostanie uruchomiony po jego zapisaniu. Jeśli utworzono arkusz kalkulacyjny przedstawiony we wcześniejszej części tego samouczka, oto jak wygląda ten arkusz po zakończeniu przebiegu.

Zrzut ekranu arkusza kalkulacyjnego po zakończeniu wyrażenia „OR”.

Zauważ, że wszystkie dane z wierszy zawierających wartości zakończono lub niewymagane w kolumnie Stan zostały usunięte.

Używanie wyrażenia „and”

Załóżmy, że masz tabelę zawierającą dwie kolumny. Nazwy kolumn to Stan i Przypisane. Załóżmy także, że chcesz usunąć wszystkie wiersze, w których w kolumnie Stan znajduje się wartość zablokowane, a w kolumnie Przypisano znajduje się wartość John Wonder. Aby wykonać to zadanie, wykonaj wszystkie kroki opisane we wcześniejszej części tego samouczka, ale podczas edytowania karty Warunek w trybie zaawansowanym użyj wyrażenia and w następujący sposób.

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Oto przykład karty Warunek.

Zrzut ekranu edytora wyrażenia „and”.

Uruchamianie przepływu z wyrażeniem „and”

Jeśli użytkownik postępował zgodnie z krokami w tym samouczku, arkusz kalkulacyjny powinien wyglądać podobnie jak w przypadku poniższego zrzutu ekranu.

Zrzut ekranu arkusza kalkulacyjnego przed przebiegiem przepływu.

Po zakończeniu przebiegu przepływu arkusz kalkulacyjny powinien wyglądać podobnie jak w przypadku poniższego zrzutu ekranu.

Zrzut ekranu arkusza kalkulacyjnego po przebiegu przepływu.

Używanie wyrażenia „empty”

Zauważ, że w arkuszu kalkulacyjnym znajduje się teraz kilka pustych wierszy. Aby je usunąć, przy użyciu wyrażenia empty zidentyfikuj wszystkie wiersze, które w kolumnach Przypisane i Stan nie zawierają żadnego tekstu.

Aby zrealizować to zadanie, należy wykonać wszystkie kroki wymienione we wcześniejsze sekcji Użyj wyrażenia „and” w tym samouczku. Edytując kartę Warunek w trybie zaawansowanym, należy użyć następującego pustego wyrażenia.

@and(empty(item()?['Status']), empty(item()?['Assigned']))

Karta Warunek powinna wyglądać podobnie, jak na poniższym zrzucie ekranu.

Zrzut ekranu edytora wyrażenia „empty”.

Po zakończeniu przebiegu przepływu arkusz kalkulacyjny powinien wyglądać podobnie jak w przypadku poniższego zrzutu ekranu.

Zrzut ekranu przedstawiający arkusz kalkulacyjny po „pustym” przebiegu.

Zauważ, że z tabeli usunięto dodatkowe wiersze.

Używanie wyrażenia „greater”

Wyobraź sobie, że masz bilety na mecz siatkówki dla swoich współpracowników i używasz arkusza kalkulacyjnego, aby mieć pewność, że każdy z nich zwróci Ci pieniądze. Możesz szybko utworzyć przepływ w chmurze wysyłający codzienną wiadomość e-mail do każdej osoby, która nie zapłaciła całej kwoty.

Przy użyciu wyrażenia greater zidentyfikuj pracowników, którzy nie zapłacili całej kwoty. Następnie możesz automatycznie wysłać wiadomość e-mail z przypomnieniem do osób z zaległościami w zapłacie.

Oto jak wygląda arkusz kalkulacyjny.

Zrzut ekranu arkusza kalkulacyjnego osób, które nie zapłaciły w całości.

Oto implementacja wyrażenia greater identyfikująca wszystkie osoby, które zapłaciły mniej niż wynosi należna kwota.

@greater(item()?['Due'], item()?['Paid'])

Używanie wyrażenia „less”

Wyobraź sobie, że masz bilety na mecz siatkówki dla swoich współpracowników i używasz arkusza kalkulacyjnego, aby mieć pewność, że każdy z nich zwróci Ci pieniądze w ustalonym terminie. Możesz utworzyć przepływ w chmurze wysyłający wiadomość e-mail z przypomnieniem do każdej osoby, która nie zapłaciła całej kwoty, jeśli bieżąca data jest późniejsza niż jeden dzień przed terminem.

Użyj wyrażenia and z wyrażeniem less, ponieważ weryfikowane są dwa warunki.

Warunek do sprawdzenia Wyrażenie do użycia Przykład
Czy została zapłacona cała kwota? greater @greater(item()?['Due'], item()?['Paid'])
Czy termin przypada na mniej niż jeden dzień od bieżącej daty? less @less(item()?['DueDate'], addDays(utcNow(),1))

Połączenie wyrażeń „greater” and „less” w wyrażeniu „and”

Przy użyciu wyrażenia greater zidentyfikuj pracowników, którzy zapłacili mniej niż wynosi należna kwota, a przy użyciu wyrażenia less określ, czy termin zapłaty przypada na mniej niż jeden dzień od bieżącej daty. Następnie przy użyciu akcji Wyślij wiadomość e-mail możesz wysłać wiadomości e-mail z przypomnieniem do pracowników etatowych, którzy nie zapłacili całej kwoty, gdy termin zapłaty przypada na mniej niż jeden dzień od bieżącej daty.

Oto jak wygląda tabela arkusza kalkulacyjnego.

Zrzut ekranu tabeli arkusza kalkulacyjnego.

Oto implementacja wyrażenia and identyfikująca wszyscy pracownicy etatowy, którzy zapłacili mniej niż wynosi należna kwota, gdy termin zapłaty przypada na mniej niż jeden dzień od bieżącej daty.

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

Używanie funkcji w wyrażeniach

Niektóre wyrażenia pobierają swoje wartości z akcji środowiska uruchomieniowego, które mogą jeszcze nie istnieć w momencie uruchamiania przepływu w chmurze. Aby przywoływać takie wartości lub pracować z nimi w wyrażeniach, można użyć funkcji udostępnianych przez język definicji przepływu pracy. Więcej informacji. Więcej informacji można uzyskać w Przewodniku referencyjnym do funkcji wyrażeń przepływu pracy w aplikacjach Azure Logic Apps i Power Automate.