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


Подключаемый модуль pivot

Поворот таблицы путем преобразования уникальных значений из одного столбца в входной таблице в несколько столбцов в выходной таблице и выполняет агрегирование по мере необходимости для всех оставшихся значений столбцов, которые будут отображаться в конечных выходных данных.

Примечание.

Если outputSchema не указан, выходная схема подключаемого pivot модуля основана на входных данных. Поэтому несколько выполнений подключаемого модуля с использованием разных входных данных могут создавать другую выходную схему. Это также означает, что запрос, ссылающийся на распакованные столбцы, может стать "сломанным" в любое время. По этой причине мы не рекомендуем использовать этот подключаемый модуль для заданий автоматизации без указания функции OutputSchema.

Синтаксис

T | evaluate pivot(Столбец pivotColumn aggregationFunction] [,column1 [,column2 ... ]]) [: OutputSchema][,

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

Параметры

Имя (название) Type Обязательно Описание
PivotColumn string ✔️ Столбец для поворота. Каждое уникальное значение из этого столбца будет столбцом в выходной таблице.
aggregationFunction string Функция агрегирования, используемая для объединения нескольких строк в входной таблице с одной строкой в выходной таблице. В настоящее время поддерживаются функции: min(), sum()max()take_any()dcount()avg()stdev()variance()make_list()make_bag()make_set()count() Значение по умолчанию — count().
column1, column2, ... string Имя столбца или разделенный запятыми список имен столбцов. В выходной таблице будет содержаться дополнительный столбец для каждого указанного столбца. Значение по умолчанию — это все столбцы, отличные от сводного столбца и столбца агрегирования.
OutputSchema Имена и типы ожидаемых столбцов выходных данных подключаемого pivot модуля.

Синтаксис: ( ColumnName : ColumnType [, ...] )

Указание ожидаемой схемы оптимизирует выполнение запроса, не выполняя фактический запрос для изучения схемы. Ошибка возникает, если схема времени выполнения не соответствует схеме OutputSchema .

Возвраты

Сводная таблица возвращает вращаемую таблицу с указанными столбцами (column1, column2, ...) и всеми уникальными значениями столбцов сводной таблицы. Каждая ячейка для сводных столбцов будет содержать вычисление статистической функции.

Примеры

Сводка по столбцу

Для каждого типа EventType и State, начиная с "AL", подсчитывайте количество событий этого типа в этом состоянии.

StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)

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

EventType АЛАБАМА АЛЯСКА
Ураганный ветер 352 1
Очень сильный ветер 0 95
Экстремальный холодный/ветер холод 0 10
Сильный ветер 22 0

Сводка по столбцу с функцией агрегирования

Для каждого типа событий и состояния, начиная с "AR", отображается общее количество прямых смертей.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))

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

EventType АРКАНЗАС АРИЗОНА
Ливень 1 0
Ураганный ветер 1 0
Lightning 0 1
Паводок 0 6
Сильный ветер 1 0
Heat 3 0

Сводка по столбцу с функцией агрегирования и одним дополнительным столбцом

Результат идентичен предыдущему примеру.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)

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

EventType АРКАНЗАС АРИЗОНА
Ливень 1 0
Ураганный ветер 1 0
Lightning 0 1
Паводок 0 6
Сильный ветер 1 0
Heat 3 0

Укажите сводный столбец, функцию агрегирования и несколько дополнительных столбцов.

Для каждого типа события, источника и состояния суммирует количество прямых смертей.

StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)

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

EventType Исходный код АРКАНЗАС АРИЗОНА
Ливень Специалист по управлению в чрезвычайных ситуациях 1 0
Ураганный ветер Специалист по управлению в чрезвычайных ситуациях 1 0
Lightning Газета 0 1
Паводок Подготовленный корректировщик 0 2
Паводок Широковещательный носитель 0 3
Паводок Газета 0 1
Сильный ветер Правоприменение 1 0
Heat Газета 3 0

Сводка с определяемой запросом выходной схемой

В следующем примере выбираются определенные столбцы в таблице StormEvents. В нем используется явное определение схемы, позволяющее оценивать различные оптимизации перед выполнением фактического запроса.

StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)

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

EventType АЛАБАМА АЛЯСКА
Ураганный ветер 352 1
Очень сильный ветер 0 95
Морской гроза ветер 0 0
Сильный ветер 22 0
Экстремальный холодный/ветер холод 0 10
Холодный или прохладный ветер 0 0
Морской сильный ветер 0 0
Морской высокий ветер 0 0