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

W tym przewodniku 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
i 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))
lub 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))
równa się 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')
mniej 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)
większe niż 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)
pusta Zwraca wartość true, jeśli obiekt, tablica lub ciąg są puste. To wyrażenie zwraca wartość true:
empty('')
nie jest Zwraca odwrotną wartość logiczną. To wyrażenie zwraca wartość true:
not(contains('200 Success','Fail'))
jeżeli 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

  • Dostęp do usługi Power Automate.
  • 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.
  • Usługa Microsoft Office 365 Outlook (my korzystamy z programu Office 365 Outlook, ale w swoich przepływach możesz też używać dowolnej innej obsługiwanej 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 Status, a wartości możliwe do wpisania w kolumnie Status to:

  • zakończona
  • zablokowane
  • zbędne
  • nie rozpoczęto

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

przykładowy arkusz kalkulacyjny

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.

    zaloguj

  2. Wybierz kartę Moje przepływy.

    wybierz pozycję Moje przepływy

  3. Wybierz pozycję Utwórz z pustego.

    utwórz z pustego

Dodawanie wyzwalacza do przepływu

  1. Wyszukaj pozycję Harmonogram, a następnie wybierz wyzwalacz Harmonogram — Cykl

    wyzwalacz harmonogramu

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

    ustawianie harmonogramu

Wybieranie arkusza kalkulacyjnego i pobieranie wszystkich wierszy

  1. Wybierz kolejno pozycje Nowy krok > Dodaj akcję.

    nowy krok

  2. Wyszukaj pozycję wiersze, a następnie wybierz pozycję Excel — Pobierz wiersze.

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

    pobierz wiersze

  3. Wybierz ikonę folderu w polu Nazwa pliku, przejdź do arkusza kalkulacyjnego zawierającego dane i wybierz go.

    wybieranie arkusza kalkulacyjnego

  4. Wybierz z listy Nazwa tabeli tabelę zawierającą dane.

    wybierz tabelę

Sprawdź kolumnę stanu każdego wiersza

  1. Wybierz kolejno pozycje Nowy krok > Więcej > Dodaj instrukcję Zastosuj do każdego.

    wybierz tabelę

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

    wybierz tabelę

  3. Wybierz kolejno pozycje Dodaj warunek > Edytowanie w trybie zaawansowanym.

  4. Dodaj następujące wyrażenie or. To wyrażenie or sprawdza wartość każdego wiersza w tabeli (wiersz nazywany jest elementem, gdy jest używany w wyrażeniu). Jeśli wartość kolumny status to completed lub unnecessary, wynikiem wyrażenia or jest wartość „true”.

    Wyrażenie or wygląda następująco:

    @or(equals(item()?['status'], 'unnecessary'), equals(item()?['status'], 'completed'))

    Karta Warunek wygląda następująco:

    obraz wyrażenia or

Usuwanie pasujących wierszy z arkusza kalkulacyjnego

  1. Wybierz pozycję Dodaj akcję w gałęzi JEŚLI TAK, NIC NIE RÓB warunku.

  2. Wyszukaj pozycję Usuń wiersz, a następnie pozycję Excel — Usuń wiersz.

    obraz przedstawiający usuwanie wiersza

  3. W polu Nazwa pliku wyszukaj i wybierz plik arkusza kalkulacyjnego zawierający dane, które chcesz usunąć.

  4. Z listy Nazwa tabeli wybierz tabelę zawierającą dane.

  5. Umieść token Identyfikator wiersza w polu Identyfikator wiersza.

    plik arkusza kalkulacyjnego

Nadawanie nazwy przepływowi i zapisywanie go

  1. Określ nazwę przepływu, a następnie wybierz przycisk Utwórz przepływ.

    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 przewodnika, oto jak wygląda ten arkusz po zakończeniu przebiegu:

zakończenie wyrażenia or

Zauważ, że wszystkie dane z wierszy zawierających wartości „completed” lub „unnecessary” w kolumnie Status zostały usunięte.

Używanie wyrażenia and

Załóżmy, że masz tabelę zawierającą dwie kolumny. Nazwy kolumn to Status i Assigned. Załóżmy także, że chcesz usunąć wszystkie wiersze, w których w kolumnie Status 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 przewodnika, 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'))

Karta Warunek wygląda następująco:

obraz wyrażenia and

Uruchamianie przepływu z wyrażeniem and

Jeśli wykonano wszystkie opisane do tego miejsca czynności, arkusz kalkulacyjny powinien wyglądać następująco:

przed uruchomieniem funkcji and

Po uruchomieniu przepływu arkusz kalkulacyjny powinien wyglądać następująco:

po uruchomieniu funkcji and

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 Assigned i Status nie zawierają żadnego tekstu.

Aby wykonać to zadanie, wykonaj wszystkie kroki opisane w sekcji Używanie wyrażenia and we wcześniejszej części tego przewodnika, ale podczas edytowania karty Warunek w trybie zaawansowanym użyj wyrażenia empty w następujący sposób:

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

Karta Warunek wygląda następująco:

obraz wyrażenia empty

Po uruchomieniu przepływu arkusz kalkulacyjny powinien wyglądać następująco:

po uruchomieniu funkcji empty

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:

widok arkusza kalkulacyjnego

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 wraz z wyrażeniem less, ponieważ walidowane są dwa warunki:

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

Połączenie wyrażeń greater i 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ć przypomnienie do osób, które nie zapłaciły całej kwoty, gdy termin zapłaty przypada na mniej niż jeden dzień od bieżącej daty.

Oto jak wygląda tabela arkusza kalkulacyjnego:

widok arkusza kalkulacyjnego

Oto implementacja wyrażenia and identyfikująca wszystkie osoby, które zapłaciły 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: Dokumentacja funkcji języka definicji przepływu pracy w usłudze Power Automate

Note

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).