sumif() (agregační funkce)
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vypočítá součet výrazů v záznamech, pro které se predikát vyhodnotí jako true
.
Hodnoty Null se ignorují a nefaktorují do výpočtu.
Můžete také použít funkci sum(), která sečte řádky bez predikátového výrazu.
Syntaxe
sumif(
predikát,
výrazu)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
výraz | string |
✔️ | Výraz použitý pro výpočet agregace. |
predikát | string |
✔️ | Výraz použitý k filtrování řádků. Pokud se predikát vyhodnotí jako true , řádek se zahrne do výsledku. |
Návraty
Vrátí součet výrazů, pro které se predikát vyhodnotí jako true
.
Příklad znázorňující součet škod na základě počtu nečinných ztrát
Tento příklad ukazuje celkové poškození bouře bez ztráty.
StormEvents
| summarize DamageNoCasualties=sumif((DamageCrops+DamageProperty),(DeathsDirect+DeathsIndirect)==0) by State
Výstup
Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.
State | DamageNoCasualties |
---|---|
TEXAS | 242638700 |
KANSAS | 407360000 |
IOWA | 135353700 |
ILLINOIS | 120394500 |
MISSOURI | 1096077450 |
GEORGIA | 1077448750 |
MINNESOTA | 230407300 |
WISCONSIN | 241550000 |
NEBRASKA | 70356050 |
NEW YORK | 58054000 |
... | ... |
Příklad znázorňující součet dat narození
Tento příklad ukazuje součet dat narození pro všechna jména, která mají více než 4 písmena.
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)
Výstup
sumif_day_of_birth |
---|
32 |