sumif() (функция агрегирования)
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет сумму экспра в записях, для которых предикат вычисляетсяtrue
.
Значения NULL игнорируются и не учитываются в вычислении.
Вы также можете использовать функцию sum(), которая суммирует строки без выражения предиката.
Синтаксис
sumif(
предикат экспра,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
expr | string |
✔️ | Выражение, используемое для вычисления агрегирования. |
predicate | string |
✔️ | Выражение, используемое для фильтрации строк. Если предикат оценивается true , строка будет включена в результат. |
Возвраты
Возвращает сумму экспра, для которой вычисляется true
предикат.
Пример, показывающий сумму ущерба на основе количества жертв
В этом примере показан общий ущерб для штормов без жертв.
StormEvents
| summarize DamageNoCasualties=sumif((DamageCrops+DamageProperty),(DeathsDirect+DeathsIndirect)==0) by State
Выходные данные
Показанная таблица результатов содержит только первые 10 строк.
Штат | ПовреждениеNoCasualties |
---|---|
TEXAS | 242638700 |
КАНЗАС | 407360000 |
АЙОВА | 135353700 |
ИЛЛИНОЙС | 120394500 |
МИССУРИ | 1096077450 |
ДЖОРДЖИЯ | 1077448750 |
МИННЕСОТА | 230407300 |
WISCONSIN | 241550000 |
НЕБРАСКА | 70356050 |
NEW YORK | 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 |