Koşullarda ifadeleri kullanarak birden çok değeri denetlemeUse expressions in conditions to check multiple values

Bu kılavuzda, Gelişmiş mod'da ifadeleri ve Koşulları kullanarak birden çok değeri nasıl karşılaştırabileceğinizi öğreneceksiniz.In this walkthrough, you'll learn to use expressions and Conditions to compare multiple values in Advanced mode.

Bir akış oluştururken, temel moddaki Koşul kartını kullanarak tek bir değeri başka bir değerle hızlıca karşılaştırabilirsiniz.When you create a flow, you can use the Condition card in basic mode to quickly compare a single value with another value. Ancak birden çok değeri karşılaştırmanızı gerektiren durumlar olabilir.However, there're times when you need to compare multiple values. Örneğin, bir elektronik tablodaki veya veritabanı tablosundaki birkaç sütunun değerlerini denetlemek isteyebilirsiniz.For example, you may want to check the value of a few columns in a spreadsheet or database table.

Koşullarınızda aşağıdaki mantıksal ifadelerin herhangi bir birleşimini kullanabilirsiniz.You can use any combination of the following logical expressions in your conditions.

ExpressionExpression AçıklamaDescription ÖrnekExample
veand İki bağımsız değişkeni alır ve iki değer de true ise, true değerini döndürür.Takes two arguments and returns true if both values are true.
Not: İki bağımsız değişkenin de Boolean olması gerekir.Note: Both arguments must be Booleans.
Bu ifade false değerini döndürür:This expression returns false:
and(greater(1,10),equals(0,0))and(greater(1,10),equals(0,0))
oror İki bağımsız değişkeni alır ve ikisinden biri true ise, true değerini döndürür.Takes two arguments and returns true if either argument is true.
Not: İki bağımsız değişkenin de Boolean olması gerekir.Note: Both arguments must be Booleans.
Bu ifade true değerini döndürür:This expression returns true:
or(greater(1,10),equals(0,0))or(greater(1,10),equals(0,0))
eşittirequals İki değer eşitse true değerini döndürür.Returns true if two values are equal. Örneğin, parametre1'in değeri birDeğer olduğunda bu ifade true değerini döndürür:For example, if parameter1 is someValue, this expression returns true:
equals(parameters('parametre1'), 'birDeğer')equals(parameters('parameter1'), 'someValue')
daha azless İki bağımsız değişkeni alır ve ilk bağımsız değişken ikincisinden küçükse true değerini döndürür.Takes two arguments and returns true if the first argument is less than the second argument.
Not: Desteklenen türler integer, float ve string'dir.Note: The supported types are integer, float, and string.
Bu ifade true değerini döndürür:This expression returns true:
less(10,100)less(10,100)
lessOrEqualslessOrEquals İki bağımsız değişkeni alır ve ilk bağımsız değişken ikincisinden küçükse veya ikincisine eşitse true değerini döndürür.Takes two arguments and returns true if the first argument is less than or equal to the second argument.
Not: Desteklenen türler integer, float ve string'dir.Note: The supported types are integer, float, and string.
Bu ifade true değerini döndürür:This expression returns true:
lessOrEquals(10,10)lessOrEquals(10,10)
büyüktürgreater İki bağımsız değişkeni alır ve ilk bağımsız değişken ikincisinden büyükse true değerini döndürür.Takes two arguments and returns true if the first argument is greater than the second argument.
Not: Desteklenen türler integer, float ve string'dir.Note: The supported types are integer, float, and string.
Bu ifade false değerini döndürür:This expression returns false:
greater(10,10)greater(10,10)
greaterOrEqualsgreaterOrEquals İki bağımsız değişkeni alır ve ilk bağımsız değişken ikincisinden büyük veya ikincisine eşitse true değerini döndürür.Takes two arguments and returns true if the first argument is greater than or equal to the second argument.
Not: Desteklenen türler integer, float ve string'dir.Note: The supported types are integer, float, and string.
Bu ifade false değerini döndürür:This expression returns false:
greaterOrEquals(10,100)greaterOrEquals(10,100)
emptyempty Nesne, dizi veya dize boşsa true değerini döndürür.Returns true if the object, array, or string is empty. Bu ifade true değerini döndürür:This expression returns true:
empty('')empty('')
değilnot Bir boolean değerinin tersini döndürür.Returns the opposite of a boolean value. Bu ifade true değerini döndürür:This expression returns true:
not(contains('200 Success','Fail'))not(contains('200 Success','Fail'))
ifif İfadenin true veya false olarak sonuçlanmasına bağlı olarak belirli bir değeri döndürür.Returns a specific value if the expression results in true or false. Bu ifade "yes" değerini döndürür:This expression returns "yes":
if(equals(1, 1), 'evet', 'hayır')if(equals(1, 1), 'yes', 'no')

Ön koşullarPrerequisites

  • Power Automate uygulamasına erişin.Access to Power Automate.
  • Bu kılavuzun sonraki bölümlerinde açıklanacak tabloları içeren bir elektronik tablo.A spreadsheet with the tables described later in this walkthrough. Power Automate'in elektronik tablolarınıza erişebilmesi için bunları Dropbox veya Microsoft OneDrive gibi bir konuma kaydettiğinizden emin olun.Be sure to save your spreadsheet in a location such as Dropbox or Microsoft OneDrive so that Power Automate can access it.
  • Microsoft Office 365 Outlook (Biz Office 365 Outlook kullanıyoruz, ancak siz akışlarınızda, desteklenen e-posta hizmetlerinden dilediğinizi kullanabilirsiniz.)Microsoft Office 365 Outlook (While we use Office 365 Outlook, you can use any supported email service in your flows.)

Or ifadesini kullanmaUse the or expression

Bazen, bir öğenin değerinin değerA veya değerB olmasına bağlı olarak iş akışınızın bir eylem gerçekleştirmesi gerekir.Sometimes your workflow needs to take an action if the value of an item is valueA or valueB. Örneğin, bir elektronik tablodaki görevlerin durumunu izliyor olabilirsiniz.For example, you may be tracking the status of tasks in a spreadsheet table. Tablonun Durum adlı bir sütun içerdiğini ve Durum sütunundaki olası değerlerin şunlar olduğunu varsayalım:Assume that the table has a column named Status and the possible values in the Status column are:

  • tamamlandıcompleted
  • engellendiblocked
  • gereksizunnecessary
  • başlatılmadınot started

Elektronik tablo şu örnekteki gibi görünebilir:Here's an example of what the spreadsheet might look like:

örnek elektronik tablo

Yukarıdaki tabloyu göz önünde bulundurarak, Power Automate aracılığıyla Durum sütunu tamamlandı veya gereksiz olarak ayarlanmış olan tüm satırları kaldırmak istediğinizi düşünelim.Given the preceding spreadsheet, you want to use Power Automate to remove all rows with a Status column that's set to completed or unnecessary.

Akışı oluşturalım.Let's create the flow.

Boş bir akışla başlayınStart with a blank flow

  1. Power Automate hizmetinde oturum açın.Sign into Power Automate.

    Oturum açın

  2. Akışlarım sekmesini seçin.Select the My flows tab.

    Akışlarım sekmesini seçin

  3. Boş akış oluştur'u seçin.Select Create from blank.

    Boş akış oluştur

Akışınıza bir tetikleyici ekleyinAdd a trigger to your flow

  1. Zamanlama sözcüğünü arayın ve sonra Zamanlama - Yinelenme tetikleyicisini seçinSearch for Schedule, and then select the Schedule - Recurrence trigger

    zamanlama tetikleyicisi

  2. Zamanlamayı günde bir kez çalışacak biçimde ayarlayın.Set the schedule to run once daily.

    zamanlamayı ayarlama

Elektronik tabloyu seçin ve tüm satırları alınSelect the spreadsheet and get all rows

  1. Yeni adım > Eylem ekle seçeneğini belirleyin.Select New step > Add an action.

    Yeni adım

  2. Satırlar sözcüğünü arayın ve sonra Excel - Satırları al'ı seçin.Search for rows, and then select Excel - Get rows.

    Not: Kullanmakta olduğunuz elektronik tabloya karşılık gelen "satırları al" eylemini seçin.Note: Select the "get rows" action that corresponds to the spreadsheet that you're using. Örneğin, Google E-Tablolar'ı kullanıyorsanız Google E-Tablolar - Satırları al'ı seçin.For example, if you're using Google Sheets, select Google Sheets - Get rows.

    Satırları al

  3. Dosya adı kutusunda klasör simgesini seçin, verilerinizi içeren elektronik tabloya göz atın ve tabloyu seçin.Select the folder icon in the File name box, browse to, and then select the spreadsheet that contains your data.

    elektronik tabloyu seçme

  4. Tablo adı listesinden verilerinizi içeren tabloyu seçin.Select the table that contains your data from the Table name list.

    tabloyu seçme

Her satırın durum sütununu denetleyinCheck the status column of each row

  1. Yeni adım > Diğer > “Her birine uygula” ekle'yi seçin.Select New step > More > Add an apply to each.

    tabloyu seçme

  2. Değer belirtecini Önceki adımlardan bir çıkış seçin kutusuna ekleyin.Add the Value token to the Select an output from previous steps box.

    tabloyu seçme

  3. Koşul ekle > Gelişmiş modda düzenle'yi seçin.Select Add a condition > Edit in advanced mode.

  4. Aşağıdaki or ifadesini ekleyin.Add the following or expression. Bu or ifadesi, tablodaki her satırın değerini denetler (satır, bir ifadede erişildiğinde öğe olarak bilinir).This or expression checks the value of each row in the table (a row is known as an item when accessed in a expression). Durum sütunundaki değerin tamamlandı veya gereksiz olması durumunda, or ifadesi "true" olarak değerlendirilir.If the value of the status column is completed or unnecessary, the or expression evaluates to "true".

    or ifadesi burada gösterildiği gibi görünür:The or expression appears as shown here:

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

    Koşul kartınız şu resme benzer şekilde görünür:Your Condition card resembles this image:

    or ifadesi görüntüsü

Eşleşen satırları elektronik tablodan silmeDelete matching rows from the spreadsheet

  1. Koşulun EVET İSE, HİÇBİR ŞEY YAPMA dalında Eylem ekle'yi seçin.Select Add an action on the IF YES, DO NOTHING branch of the condition.

  2. Satırı sil ifadesini arayın ve sonra Excel - Satır sil'i seçin.Search for Delete row, and then select Excel - Delete row.

    satırı sil resmi

  3. Dosya adı kutusunda, silmek istediğiniz verileri içeren elektronik tablo dosyasını arayın ve seçin.In the File name box, search for, and select the spreadsheet file that contains the data you want to delete.

  4. Tablo adı listesinde, verilerinizi içeren tabloyu seçin.In the Table name list, select the table that contains your data.

  5. Satır kimliği kutusuna Satır kimliği belirtecini girin.Place the Row id token in the Row id box.

    elektronik tablo dosyası

Akışı adlandırın ve kaydedinName the flow and save it

  1. Akışınıza bir ad verin ve sonra Akış oluştur düğmesini seçin.Give your flow a name and then select the Create flow button.

    akışınızı kaydedin

Akışı or ifadesiyle çalıştırmaRun the flow with the or expression

Akış kaydedildikten sonra çalışır.The flow runs after you save it. Bu kılavuzda daha önce gösterilen elektronik tabloyu oluşturduysanız, çalıştırma tamamlandıktan sonra bu elektronik tablo şöyle görünür:If you created the spreadsheet shown earlier in this walkthrough, here's what the it looks like after the run completes:

or ifadesi tamamlanır

Durum sütununda "tamamlandı" veya "gereksiz" değerine sahip olan satırlardaki tüm verilerin silindiğine dikkat edin.Notice all data from rows that had "completed" or "unnecessary" in the Status column were deleted.

And ifadesini kullanmaUse the and expression

Bir elektronik tabloda iki sütunlu bir tablonuz olduğunu varsayalım.Assume you have a spreadsheet table with two columns. Sütun adları Durum ve Atandı olsun.The column names are Status and Assigned. Durum sütununun "engellendi", Atandı sütununun ise "Turgay Elmas" değerine sahip olduğu tüm satırları silmek istediğinizi düşünelim.Assume also that you want to delete all rows if the Status column's value is "blocked" and the Assigned column's value is "John Wonder". Bu görevi gerçekleştirmek için bu kılavuzda daha önce açıklanan tüm adımları izleyin, ancak Koşul kartını gelişmiş modda düzenlerken burada gösterilen and ifadesini kullanın:To accomplish this task, follow all steps earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the and expression shown here:

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

Koşul kartınız şu resme benzer şekilde görünür:Your Condition card resembles this image:

and ifadesi görüntüsü

Akışı and ifadesiyle çalıştırmaRun the flow with the and expression

Kılavuzu takip ettiyseniz, elektronik tablonuz şu resme benzer şekilde görünür:If you followed along, your spreadsheet resembles this image:

and çalıştırılmadan önce

Akışınız çalıştırıldıktan sonra, elektronik tablonuz şu resme benzer şekilde görünür:After your flow runs, your spreadsheet resembles this image:

and çalıştırıldıktan sonra

Boş ifade kullanmaUse the empty expression

Artık elektronik tabloda birkaç boş satır olduğuna dikkat edin.Notice that there are several empty rows in the spreadsheet now. Bunları kaldırmak için empty ifadesini kullanarak Atandı ve Durum sütunlarında metin olmayan tüm satırları belirleyin.To remove them, use the empty expression to identify all rows that don't have any text in the Assigned and Status columns.

Bu görevi gerçekleştirmek için bu kılavuzun önceki kısmında yer alan and ifadesini kullanma bölümündeki tüm adımları izleyin, ancak Koşul kartını gelişmiş modda düzenlerken empty ifadesini şu şekilde kullanın:To accomplish this task, follow all steps listed in Use the and expression section earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the empty expression this way:

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

Koşul kartınız şu resme benzer şekilde görünür:Your Condition card resembles this image:

empty ifadesi görüntüsü

Akışınız çalıştırıldıktan sonra, elektronik tablo şu resme benzer şekilde görünür:After your flow runs, the spreadsheet resembles this image:

empty çalıştırıldıktan sonra

Ek satırların tablodan kaldırıldığına dikkat edin.Notice extra lines are removed from the table.

greater ifadesini kullanmaUse the greater expression

İş arkadaşlarınız için beyzbol biletleri satın aldığınızı ve herkesin bilet parasını ödediğinden emin olmak için bir elektronik tablo kullandığınızı varsayalım.Imagine you've bought baseball tickets for your coworkers and you're using a spreadsheet to ensure you're reimbursed by each person. Tutarın tamamını ödemeyen herkese günlük olarak e-posta gönderen bir akışı kolayca oluşturabilirsiniz.You can quickly create a flow that sends a daily email to each person who hasn't paid the full amount.

Tutarın tamamını ödemeyen çalışanları belirlemek için greater ifadesini kullanın.Use the greater expression to identify the employees who haven't paid the full amount. Daha sonra, ödemeyi tamamlamamış kişilere otomatik olarak iyi niyetli bir anımsatma e-postası gönderebilirsiniz.You can then automatically send a friendly reminder email to those who haven't paid in full.

Elektronik tablo şöyle görünür:Here's a view of the spreadsheet:

elektronik tablonun görünümü

Ödemesi gereken tutarın tamamını ödememiş tüm kişileri belirleyen greater ifadesi şu şekilde uygulanır:Here's the implementation of the greater expression that identifies all persons who have paid less than the amount due from them:

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

less ifadesini kullanmaUse the less expression

İş arkadaşlarınız için beyzbol biletleri satın aldığınızı ve herkesin kabul ettiği bir tarihe kadar bilet parasını ödediğinden emin olmak için bir elektronik tablo kullandığınızı varsayalım.Imagine you've bought baseball tickets for your coworkers, and you're using a spreadsheet to ensure you're reimbursed by each person by the date to which everyone agreed. Geçerli tarih ile son tarih arasında bir günden kısa süre kaldığında henüz tutarın tamamını ödememiş olan kişilere anımsatma e-postası gönderen bir akış oluşturabilirsiniz.You can create a flow that sends a reminder email to each person who hasn't paid the full amount if the current date is less than one day before the due date.

Doğrulanması gereken iki koşul olduğundan, and ifadesinin yanı sıra less ifadesini kullanın:Use the and expression along with the less expression since there are two conditions being validated:

Doğrulanacak koşulCondition to validate kullanılacak ifadeexpression to use ÖrnekExample
Tutarın tamamı ödendi mi?Has the full amount due been paid? büyüktürgreater @greater(item()?['Due'], item()?['Paid'])@greater(item()?['Due'], item()?['Paid'])
Son tarihe bir günden kısa süre mi kaldı?Is the due date less than one day away? daha azless @less(item()?['DueDate'], addDays(utcNow(),1))@less(item()?['DueDate'], addDays(utcNow(),1))

Bir and ifadesinde greater ve less ifadelerini birleştirmeCombine the greater and less expressions in an and expression

Ödemesi gereken tutarın altında ödeme yapan çalışanları belirlemek için greater ifadesini kullanın ve geçerli tarih ile son ödeme tarihi arasındaki sürenin bir günden kısa olup olmadığını belirlemek less ifadesini kullanın.Use the greater expression to identify the employees who have paid less than the full amount due and use the less expression to determine if the payment due date is less than one day away from the current date. Daha sonra, E-posta gönder eylemini kullanarak son tarihe bir günden kısa süre kalmasına rağmen tutarın tamamını ödememiş kişilere iyi niyetli bir anımsatma e-postası gönderebilirsiniz.You can then the Send an email action to send friendly reminder email to those who haven't paid in full and the due date is less than one day away.

Elektronik tablo şöyle görünür:Here's a view of the spreadsheet table:

elektronik tablonun görünümü

Son ödeme tarihine bir günden kısa süre kalmasına rağmen tutarın tamamını ödememiş olan tüm kişileri belirleyen and ifadesinin uygulanması şu şekilde yapılır:Here's the implementation of the and expression that identifies all persons who have paid less than the amount due from them and the due date is less than one day away from the current date:

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

İfadelerde işlevleri kullanmaUse functions in expressions

Bazı ifadelerin değerleri, bir akış çalışmaya başladığında henüz var olmayabilecek çalışma zamanı eylemlerinden alınır.Some expressions get their values from runtime actions that might not yet exist when a flow starts to run. İfadelerde bu değerlere başvurmak veya bunlarla çalışmak için İş Akışı Tanımlama Dili'nin sağladığı işlevleri kullanabilirsiniz.To reference or work with these values in expressions, you can use functions that the Workflow Definition Language provides. Daha fazla bilgi: Power Automate'te İş Akışı Tanımlama Dili'nin işlevler başvurusuMore information: Functions reference for Workflow Definition Language in Power Automate