共用方式為


sumif() (聚合函數)

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

計算述詞評估為 true之記錄中的expr總和

Null 值會被忽略,且不會納入計算。

注意

此函式會與 summarize 運算子搭配使用。

您也可以使用 sum() 函式,其會加總不含述詞運算式的數據列。

語法

sumif(expr,述詞)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
expr string ✔️ 用於匯總計算的表達式。
predicate string ✔️ 用來篩選數據列的表達式。 如果述詞評估為 true,則會將數據列包含在結果中。

傳回

傳回述詞評估為trueexpr 總和。

顯示以無人員傷亡計數為基礎的損害賠償總和範例

此範例顯示風暴的總損失總和,而不會造成人員傷亡。

StormEvents
| summarize DamageNoCasualties=sumif((DamageCrops+DamageProperty),(DeathsDirect+DeathsIndirect)==0) by State

輸出

顯示的結果數據表只包含前10個數據列。

州/省 DamageNoCasualties
德克薩斯州 242638700
堪薩斯州 407360000
愛荷華州 135353700
伊利諾州 120394500
密蘇里州 1096077450
喬治亞州 1077448750
明尼蘇達州 230407300
威斯康辛州 241550000
內布拉斯加州 70356050
紐約州 58054000
... ...

顯示出生日期總和的範例

本範例顯示所有名稱的出生日期總和,這些名稱超過 4 個字母。

let T = datatable(name:string, day_of_birth:long)
[
   "John", 9,
   "Paul", 18,
   "George", 25,
   "Ringo", 7
];
T
| summarize sumif(day_of_birth, strlen(name) > 4)

輸出

sumif_day_of_birth
32