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:
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
Power Automate hizmetinde oturum açın.
Sol bölmede, Akışlarım'ı seçin.
Yeni akış>Zamanlanmış bulut akışı'nı seçin.
Akışınıza bir tetikleyici ekleme
Akışınıza bir ad verin.
Akışı günde bir kez çalıştırmak için zamanlayıcıyı ayarlayın.
Sonraki adıma geçmek için Oluştur düğmesini seçin.
Not
- Power Automate klasik bulut akışları tasarımcısını veya Copilot yeteneklerine sahip yeni modern tasarımcıyı kullanır. Hangi tasarımcıyı kullandığınızı belirlemek için Bulut akışları tasarımcısını keşfedin bölümündeki Not bölümüne gidin.
- Klasik ve modern tasarımcı arasında geçiş yaptığınızda akışınızı kaydetmeniz istenir. Tüm hatalar çözülene kadar kaydedemez ve değiştiremezsiniz.
Elektronik tabloyu seçme ve tüm satırları alma
Copilot'dan sizin için bir akış oluşturmasını isteyin. Lütfen Copilot'a aşağıdaki istemi yazın:
Her hafta, bir Excel tablosundaki satırları listeleyin ve Durum sütunu eşitse Başarılı veya talep yöneticisinin e-postası jake@contoso.com ise, Excel satırını sil
Gönder'i
seçin.
Alternatif olarak, aynı akışı el ile oluşturmak için aşağıdaki adımları izleyebilirsiniz:
Artı işareti (+) >Bir eylem ekle seçerek yeni bir adım ekleyin.
Satırlar için arama yapın, Excel Online (İşletme) seçeneğini belirleyin ve ardından kullandığınız elektronik tabloya karşılık gelen Satır alma eylemini seçin.
Örneğin, Google E-Tablolar'ı kullanıyorsanız Google E-Tablolar - Satırları al'ı seçin.
Tabloda bulunan satırları listele eylemini seçin.
Verilerinizi içeren Konum, Belge Kitaplığı, Dosya ve Tablo'yu seçin.
Her satırın durum sütununu denetleme
Artı işareti (+) >Bir eylem ekle seçerek yeni bir adım ekleyin.
Bir eylem ekle ekranında, her eyleme uygula için arama yapın ve ardından Kontrol kapsamında Her eyleme uygula öğesini seçin.
Paratoner ikonunu seçerek değer belirtecini Önceki adımlardan bir çıkış seç kutusuna ekleyin.
Bu değer belirteci, elektronik tabloyu ve tüm verilerini temsil eder.
Her eyleme uygula kartında, yeni adımı artı simgesi (+) >Bir eylem ekle seçerek ekleyin.
Koşul araması yapın ve ardından Koşul denetimini seçin.
Aşağıdaki VEYA ifadesini ekleyin. Bu VEYA ifadesi, tabloda her satırın değerini denetler.
Durum sütunundaki değerin tamamlandıVEYAgereksiz olması durumunda, VEYA ifadesi gerçek olarak değerlendirilir.
Aşağıda bir Koşul kartı örneği verilmiştir.
Eşleşen satırları elektronik tablodan silme
Koşulun If yes dalında Eylem ekle'yi seçin.
If yes dalı, Or koşulu true olarak değerlendirilirse çalıştırılır.
Satırı sil araması yapın, Excel Online (Business) seçeneğini belirleyin ve ardından Satırı sil'i seçin.
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.
Anahtar Sütunu açılır listesinde, ‑PowerAppsId_ seçeneğini belirleyin.
Anahtar Değer alanına, ‑PowerAppsId_ dinamik değerini ekleyin.
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ıktan sonra, elektronik tablonuzun aşağıdaki ekran görüntüsündeki gibi görünmesi gerekir.
"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.
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.
Ö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.
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.