sumif() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Oblicza sumę wyrażenia w rekordach, dla których predykat oblicza wartość true
.
Wartości null są ignorowane i nie są uwzględniane w obliczeniach.
Uwaga
Ta funkcja jest używana w połączeniu z operatorem podsumowania.
Można również użyć funkcji sum(), która sumuje wiersze bez wyrażenia predykatu.
Składnia
sumif(
predykat expr,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
wyrażenie | string |
✔️ | Wyrażenie używane do obliczania agregacji. |
predykat | string |
✔️ | Wyrażenie używane do filtrowania wierszy. Jeśli predykat zwróci wartość true , wiersz zostanie uwzględniony w wyniku. |
Zwraca
Zwraca sumę wyrażenia , dla którego predykat oblicza wartość true
.
Przykład pokazujący sumę szkód na podstawie liczby ofiar
W tym przykładzie przedstawiono sumę całkowitej szkody dla burz bez ofiar.
StormEvents
| summarize DamageNoCasualties=sumif((DamageCrops+DamageProperty),(DeathsDirect+DeathsIndirect)==0) by State
Wyjście
Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.
Stan | SzkodyNoCasualties |
---|---|
TEKSAS | 242638700 |
KANSAS | 407360000 |
IOWA | 135353700 |
ILLINOIS | 120394500 |
MISSOURI | 1096077450 |
GEORGIA | 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)
Wyjście
sumif_day_of_birth |
---|
32 |