Udostępnij za pośrednictwem


sumif() (funkcja agregacji)

Oblicza sumę wyrażenia w rekordach, dla których predykat daje wartość true.

Wartości null są ignorowane i nie są uwzględniane w obliczeniu.

Uwaga

Ta funkcja jest używana w połączeniu z operatorem podsumowania.

Możesz również użyć funkcji sum(), która sumuje wiersze bez wyrażenia predykatu.

Składnia

sumif(Expr,Predykat)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Expr string ✔️ Wyrażenie używane do obliczania agregacji.
Predykat string ✔️ Wyrażenie używane do filtrowania wierszy. Jeśli predykat daje w wyniku wartość true, wiersz zostanie uwzględniony w wyniku.

Zwraca

Zwraca sumę wyrażenia, dla którego predykat daje wartość true.

Przykład przedstawiający sumę szkód na podstawie liczby ofiar

W tym przykładzie przedstawiono sumę łącznych szkód spowodowanych przez burze bez ofiar.

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

Dane wyjściowe

Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.

Stan DamageNoCasualties
TEXAS 242638700
KANSAS 407360000
IOWA 135353700
ILLINOIS 120394500
MISSOURI 1096077450
GRUZJA 1077448750
MINNESOTA 230407300
WISCONSIN 241550000
NEBRASKA 70356050
NEW YORK 58054000
... ...

Przykład przedstawiający sumę dat urodzenia

W tym przykładzie przedstawiono sumę dat urodzenia dla wszystkich nazw, które mają więcej niż 4 litery.

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)

Dane wyjściowe

sumif_day_of_birth
32