Поделиться через


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

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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