Sdílet prostřednictvím


sumif() (agregační funkce)

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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.

Poznámka:

Tato funkce se používá ve spojení s operátorem sumarizace.

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