Koşullarda ifadeleri kullanarak birden çok değeri denetleme

Bu öğreticide, Gelişmiş mod'da ifadeleri ve koşulları kullanarak birden çok değeri nasıl karşılaştırabileceğinizi öğreneceksiniz.

Bir bulut 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. Ancak birden çok değeri karşılaştırmanızı gerektiren durumlar olabilir. Örneğin, bir elektronik tablodaki ya da veritabanı tablosundaki birkaç sütunun değerlerini denetlemek isteyebilirsiniz.

Koşullarınızda aşağıdaki mantıksal ifadelerin herhangi bir birleşimini kullanabilirsiniz.

Expression Açıklama Örnek
and İki bağımsız değişkeni alır ve iki değer de true ise, true değerini döndürür.
Not: İki bağımsız değişkenin de Boole olması gerekir.
Bu ifade false değerini döndürür:
and(greater(1,10),equals(0,0))
or İki bağımsız değişkeni alır ve ikisinden biri true ise, true değerini döndürür.
Not: İki bağımsız değişkenin de Boole olması gerekir.
Bu ifade true değerini döndürür:
or(greater(1,10),equals(0,0))
equals İki değer eşitse true değerini döndürür. Örneğin, parameter1 değeri someValue olduğunda bu ifade true değerini döndürür:
equals(parameters('parameter1'), 'someValue')
less İ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.
Not: Desteklenen türler tamsayı, kayan noktalı sayı ve dizedir.
Bu ifade true değerini döndürür:
less(10,100)
lessOrEquals İ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.
Not: Desteklenen türler tamsayı, kayan noktalı sayı ve dizedir.
Bu ifade true değerini döndürür:
lessOrEquals(10,10)
greater İ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.
Not: Desteklenen türler tamsayı, kayan noktalı sayı ve dizedir.
Bu ifade false değerini döndürür:
greater(10,10)
greaterOrEquals İ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.
Not: Desteklenen türler tamsayı, kayan noktalı sayı ve dizedir.
Bu ifade false değerini döndürür:
greaterOrEquals(10,100)
empty Nesne, dizi veya dize boşsa true değerini döndürür. Bu ifade true değerini döndürür:
empty('')
not Bir boole değerinin tersini döndürür. Bu ifade true değerini döndürür:
not(contains('200 Success','Fail'))
if İfadenin true veya false olarak sonuçlanmasına bağlı olarak belirli bir değeri döndürür. Bu ifade "yes" değerini döndürür:
if(equals(1, 1), 'yes', 'no')

Önkoşullar

Burada, bu kılavuzu tamamlamamanız için gerekenler yer almaktadır.

  • Power Automate uygulamasına erişin.
  • Bu kılavuzun sonraki bölümlerinde açıklanacak tabloları içeren bir elektronik tablo. Power Automate'in elektronik tablolarınıza erişebilmesi için bunları Dropbox veya Microsoft OneDrive gibi bir konuma kaydettiğinizden emin olun.
  • Microsoft 365 Outlook (Biz burada Outlook kullanıyoruz ancak siz akışlarınızda, desteklenen e-posta hizmetlerinden dilediğinizi kullanabilirsiniz.)

"Or" ifadesini kullanma

Bazen, bir öğenin değerinin valueA or valueB olmasına bağlı olarak iş akışınızın bir eylem gerçekleştirmesi gerekir. Örneğin, bir elektronik tablodaki görevlerin durumunu izliyor olabilirsiniz. Tablonun Durum adlı bir sütun içerdiğini ve bu sütundaki olası değerlerin şunlar olduğunu varsayalım:

  • tamamlandı
  • engellendi
  • gereksiz
  • başlatılmadı

Elektronik tablo şu örnekteki gibi görünebilir:

Durum sütunu olan örnek bir elektronik tablonun ekran görüntüsü.

Yukarıdaki elektronik tabloyu göz önünde bulundurarak, Power Automate aracılığıyla Durum sütunu tamamlandı ya da gereksiz olarak ayarlanmış olan tüm satırları kaldırmak istediğinizi düşünelim.

Akışı oluşturalım.

Boş bir akışla başlama

  1. Power Automate hizmetinde oturum açın.

  2. Sol bölmede, Akışlarım'ı seçin.

  3. Yeni akış>Zamanlanmış bulut akışı'nı seçin.

Akışınıza bir tetikleyici ekleme

  1. Akışınıza bir ad verin.

  2. Akışı günde bir kez çalıştırmak için zamanlayıcıyı ayarlayın.

  3. Sonraki adıma geçmek için Oluştur düğmesini seçin.

Not

Power Automate klasik bulut akışı tasarımcıyı veya Copilot ile bulut akışı tasarımcısını kullanır. Hangi tasarımcıyı kullandığınızı belirlemek için Copilot özellikleriyle bulut akışı tasarımcısını anlama bölümündeki Not bölümüne gidin.

Elektronik tabloyu seçme ve tüm satırları alma

  1. Yeni adım'ı seçin.

  2. Satırlar araması yapın ve ardından Excel Online (Business) seçeneğini belirleyin.

    Kullanmakta olduğunuz elektronik tabloya karşılık gelen satır al eylemini seçin. Örneğin, Google E-Tablolar'ı kullanıyorsanız Google E-Tablolar - Satırları al'ı seçin.

  3. Tabloda bulunan satırları listele eylemini seçin.

    Bir tablodaki satırların listelendiği ekran görüntüsü.

  4. Verilerinizi içeren Konum, Belge Kitaplığı, Dosya ve Tablo'yu seçin.

    Tablo kartında bulunan Liste satırlarındaki Konum, Belge Kitaplığı, Dosya ve Tablo alanlarının ekran görüntüsü.

Her satırın durum sütununu denetleme

  1. Yeni adım'ı seçin.

  2. Her birine uygula araması yapın ve ardından Her birine uygula - Denetim'i seçin.

  3. Değer belirtecini Önceki adımlardan bir çıkış seçin kutusuna ekleyin.

    Bu değer belirteci, elektronik tabloyu ve tüm verilerini temsil eder.

  4. Her birine uygula kartında Eylem ekle'yi seçin.

  5. Koşul araması yapın ve ardından Koşul denetimini seçin.

  6. Aşağıdaki Or ifadesini ekleyin. Bu Or ifadesi, tabloda her satırın değerini denetler. Durum sütunundaki değerin tamamlandıveyagereksiz olması durumunda, Or ifadesi "true" olarak değerlendirilir.

    Aşağıda bir Koşul kartı örneği verilmiştir.

Eşleşen satırları elektronik tablodan silme

  1. Koşulun If yes dalında Eylem ekle'yi seçin.

    Evetse dalı, VEYA koşulu gerçek olarak değerlendirilirse çalıştırılır.

  2. Satırı sil araması yapın, Excel Online (Business) seçeneğini belirleyin ve ardından Satırı sil'i seçin.

  3. Satır sil kartında, Konum, Belge Kitaplığı, Dosya ve Tablo kutularını bu öğreticide daha önce Tabloda bulunan satırları listele altında ayarladığınız şekilde ayarlayın.

  4. Anahtar Sütunu açılır listesinde, ‑PowerAppsId_ seçeneğini belirleyin.

  5. Anahtar Değer alanına, ‑PowerAppsId_ dinamik değerini ekleyin.

  6. Akışınızı kaydedin.

Akışı "or" ifadesiyle çalıştırma

Akış kaydedildikten sonra çalışır. Bu öğreticide daha önce gösterilen elektronik tabloyu oluşturduysanız, çalıştırma tamamlandıktan sonra bu elektronik tablo aşağıdaki gibi görünür.

Durum sütununda "tamamlandı ya da gereksiz değerine sahip olan satırlardaki tüm verilerin silindiğine dikkat edin.

"And" ifadesini kullanma

Bir elektronik tabloda iki sütunlu bir tablonuz olduğunu varsayalım. Sütun adları Durum ve Atandı olsun. Durum sütununun engellendi, Atandı sütununun ise Turgay Elmas değerine sahip olduğu tüm satırları silmek istediğinizi düşünelim. Bu görevi gerçekleştirmek için bu öğreticide 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.

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

Aşağıda bir Koşul kartı örneği verilmiştir.

Akışı "and" ifadesiyle çalıştırma

Bu öğreticideki adımları izlediyseniz elektronik tablonuzun aşağıdaki ekran görüntüsündeki gibi görünmesi gerekir.

Akışınız çalıştırılmadan önce elektronik tablonun ekran görüntüsü.

Akışınız çalıştıktan sonra, elektronik tablonuzun aşağıdaki ekran görüntüsündeki gibi görünmesi gerekir.

Akışınız çalıştırıldıktan sonra elektronik tablonun ekran görüntüsü.

"empty" ifadesini kullanma

Elektronik tabloda birkaç boş satır olduğunu görebilirsiniz. Bunları kaldırmak için empty ifadesini kullanarak Atandı ve Durum sütunlarında metin olmayan tüm satırları belirleyin.

Bu görevi gerçekleştirmek için, bu öğreticinin "and" ifadesini kullanma bölümündeki tüm adımları izleyin. Koşul kartını gelişmiş modda düzenlerken aşağıdaki empty ifadesini kullanın.

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

Koşul kartınız aşağıdaki ekran görüntüsüne benzemelidir.

Akışınız çalıştıktan sonra, elektronik tablo aşağıdaki ekran görüntüsündeki gibi görünmesi gerekir.

'Boş' çalıştırıldıktan sonra elektronik tablonun ekran görüntüsünü seçin.

Ek satırların tablodan kaldırıldığına dikkat edin.

"greater" ifadesini kullanma

İş arkadaşlarınız için beysbol 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. Tutarın tamamını ödemeyen herkese günlük olarak e-posta gönderen bir bulut akışını kolayca oluşturabilirsiniz.

Tutarın tamamını ödemeyen çalışanları belirlemek için greater ifadesini kullanın. Daha sonra, ödemeyi tamamlamamış kişilere otomatik olarak bir anımsatma e-postası gönderebilirsiniz.

Elektronik tablo şöyle görünür.

Bilet parasının tamamını ödemeyenlerin bulunduğu elektronik tablonun ekran görüntüsü.

Ödemesi gereken tutarın tamamını ödememiş tüm kişileri belirleyen greater ifadesi şu şekilde uygulanır.

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

"less" ifadesini kullanma

İş arkadaşlarınız için beysbol 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. 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 bulut akışı oluşturabilirsiniz.

Doğrulanması gereken iki koşul olduğundan, and ifadesinin yanı sıra less ifadesini de kullanın.

Doğrulanacak koşul Kullanılacak ifade Örnek
Tutarın tamamı ödendi mi? greater @greater(item()?['Due'], item()?['Paid'])
Son tarihe bir günden kısa süre mi kaldı? less @less(item()?['DueDate'], addDays(utcNow(),1))

Bir "and" ifadesinde "greater" ve "less" ifadelerini birleştirme

Ö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. 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ş çalışanlara anımsatma e-postaları gönderebilirsiniz.

Elektronik tablo şöyle görünür.

Elektronik tablodaki tablonun ekran görüntüsü.

Son ödeme tarihine bir günden kısa süre kalmasına rağmen tutarın tamamını ödememiş olan tüm çalışanları belirleyen and ifadesi aşağıdaki gibi uygulanır.

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

İfadelerde işlevleri kullanma

Bazı ifadelerin değerleri, bir bulut akışı çalışmaya başladığında henüz var olmayabilecek çalışma zamanı eylemlerinden alınır. İfadelerde bu değerlere başvurmak veya bunlarla çalışmak için İş Akışı Tanımlama Dili'nin sağladığı işlevleri kullanabilirsiniz. Daha fazla bilgi. Daha fazla bilgi için Azure Logic Apps ve Power Automate'te iş akışı ifade işlevlerini kullanma kılavuzu bölümüne gidin.