Aracılığıyla paylaş


iff()

Şunlar için geçerlidir: ✅Microsoft FabricAzure Veri GezginiAzure İzleyiciMicrosoft Sentinel

if koşulu trueolarak değerlendirildiğinde then değerini döndürür, aksi takdirde else değerini döndürür.

iff() ve iif() işlevleri eşdeğerdir.

Sözdizimi

iff( if , then , else )

söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametre

Ad Tür Gerekli Açıklama
if string ✔️ Boole değeri olarak değerlendirilen ifade.
then sayıl ✔️ if koşulu trueolarak değerlendirildiğinde değerini döndüren ifade.
else sayıl ✔️ if koşulu falseolarak değerlendirildiğinde değerini döndüren ifade.

Döndürür

bu işlev, if koşulu trueolarak değerlendirildiğinde then değerini döndürür, aksi takdirde else değerini döndürür.

Örnekler

iff() kullanarak verileri sınıflandırma

Aşağıdaki sorgu, fırtına olaylarını olay türlerine göre "Yağmur olayı" veya "Yağmur olayı değil" olarak kategorilere ayırmak için iff() işlevini kullanır ve ardından durumu, olay kimliğini, olay türünü ve yeni yağmur kategorisini projelendirir.

Sorgu çalıştırma

StormEvents
| extend Rain = iff((EventType in ("Heavy Rain", "Flash Flood", "Flood")), "Rain event", "Not rain event")
| project State, EventId, EventType, Rain

çıkış

Aşağıdaki tabloda yalnızca ilk beş satır gösterilmektedir.

Devlet EventId EventType Yağmur
ATLANTIK GÜNEY 61032 Su damlası Yağmur olayı değil
FLORİDA 60904 Şiddetli Yağmur Yağmur olayı
FLORİDA 60913 Hortum Yağmur olayı değil
GÜRCİSTAN 64588 Fırtına Rüzgarı Yağmur olayı değil
MİSSİSSİPPİ 68796 Fırtına Rüzgarı Yağmur olayı değil
... ... ... ...

iff() işlevini diğer işlevlerle birleştirme

Aşağıdaki sorgu, ekinlerden ve mülklerden gelen toplam hasarı hesaplar, fırtına olaylarının önem derecesini toplam hasara, doğrudan yaralanmalara ve doğrudan ölümlere göre kategorilere ayırır ve ardından toplam olay sayısını ve olay sayısını önem derecesine göre özetler.

Sorgu çalıştırma

StormEvents
| extend TotalDamage = DamageCrops + DamageProperty
| extend Severity = iff(TotalDamage > 1000000 or InjuriesDirect > 10 or DeathsDirect > 0, "High", iff(TotalDamage < 50000 and InjuriesDirect == 0 and DeathsDirect == 0, "Low", "Moderate"))
| summarize TotalEvents = count(), SeverityEvents = count() by Severity

çıkış

Şiddet TotalEvents
Alçak 54805
Yüksek 977
Ilımlı 3284