sumif() (агрегатная функция)

Вычисляет сумму expr в записях, для которых предикат имеет trueзначение .

Значения NULL игнорируются и не учитываются при вычислении.

Примечание

Эта функция используется в сочетании с оператором summarize.

Можно также использовать функцию sum(), которая суммирует строки без выражения предиката.

Синтаксис

sumif(Expr,Предикат)

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
expr string ✔️ Выражение, используемое для вычисления агрегирования.
predicate string ✔️ Выражение, используемое для фильтрации строк. Если предикат имеет trueзначение , строка будет включена в результат.

Возвращаемое значение

Возвращает сумму expr , для которой предикат имеет trueзначение .

Пример, показывающий сумму ущерба на основе количества жертв

В этом примере показан общий ущерб от штормов без жертв.

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

Выходные данные

Показанная таблица результатов содержит только первые 10 строк.

Состояние DamageNoCasualties
Техас 242638700
Канзас 407360000
Айова 135353700
Иллинойс 120394500
Миссури 1096077450
Грузия 1077448750
МИННЕСОТА 230407300
ВИСКОНСИН 241550000
НЕБРАСКА 70356050
НЬЮ-ЙОРК 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