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

Создает dynamic массив из набора различных значений, которые expr принимает в записях, для которых предикат имеет trueзначение .

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

Примечание

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

Синтаксис

make_set_if(Expr,predicate [,maxSize])

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

Параметры

Имя Тип Обязательно Описание
expr string ✔️ Выражение, используемое для вычисления агрегирования.
predicate string ✔️ Предикат, который должен иметь значение true , чтобы выражение добавлялось к результату.
Maxsize int Максимальное количество возвращаемых элементов. Значения по умолчанию и максимальное значение — 1048576.

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

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

Совет

Чтобы подсчитать только уникальные значения, используйте dcountif().

make_set функция, которая делает то же самое без выражения предиката.

Пример

В следующем примере показан список имен с более чем 4 буквами.

let T = datatable(name:string, day_of_birth:long)
[
   "John", 9,
   "Paul", 18,
   "George", 25,
   "Ringo", 7
];
T
| summarize make_set_if(name, strlen(name) > 4)

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

set_name
["Джордж", "Ринго"]