Подключаемый модуль pivot
Поворачивает таблицу путем преобразования уникальных значений из одного столбца входной таблицы в несколько столбцов в выходной таблице и выполняет агрегирование по мере необходимости для всех оставшихся значений столбцов, которые будут отображаться в выходных данных.
Примечание
Если OutputSchema не указан, схема выходных данных подключаемого pivot
модуля основана на входных данных. Таким образом, несколько выполнений подключаемого модуля с использованием разных входных данных могут привести к по-разному. Это также означает, что запрос, ссылающийся на неупакованные столбцы, может стать "неработающим" в любое время. По этой причине мы не рекомендуем использовать этот подключаемый модуль для заданий автоматизации без указания функции OutputSchema.
Синтаксис
T | evaluate pivot(
pivotColumn[,
aggregationFunction] [,
column1[,
column2 ... ]])
[:
OutputSchema]
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
pivotColumn | string |
✔️ | Столбец для поворота. Каждое уникальное значение из этого столбца будет столбцом в выходной таблице. |
aggregationFunction | string |
Агрегатная функция, используемая для агрегирования нескольких строк входной таблицы с одной строкой в выходной таблице. Поддерживаемые в настоящее время функции: min() , max() , take_any() , sum() , dcount() avg() , stdev() , variance() , make_list() , make_bag() , , make_set() . count() Значение по умолчанию — count() . |
|
column1, column2, ... | string |
Имя столбца или разделенный запятыми список имен столбцов. Выходная таблица будет содержать дополнительный столбец для каждого указанного столбца. Значением по умолчанию являются все столбцы, кроме сводного столбца и столбца агрегирования. | |
OutputSchema | Имена и типы ожидаемых столбцов выходных данных подключаемого pivot модуля.Синтаксис: ( ColumnName: ColumnType [, ...] ) Указание ожидаемой схемы оптимизирует выполнение запроса, не выполняя сначала фактический запрос для изучения схемы. Если схема времени выполнения не соответствует схеме OutputSchema , возникает ошибка. |
Возвращаемое значение
Pivot возвращает повернутую таблицу с указанными столбцами (column1, column2, ...) и всеми уникальными значениями столбцов сводки. Каждая ячейка для сводных столбцов будет содержать вычисление агрегатной функции.
Примеры
Сводка по столбцу
Для каждого типа событий и состояния, начиная с 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 |
Тепла | 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 |
Тепла | 3 | 0 |
Указание сводного столбца, агрегатной функции и нескольких дополнительных столбцов
Для каждого типа события, источника и состояния суммируйте количество прямых смертей.
StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)
Выходные данные
EventType | Source | АРКАНЗАС | АРИЗОНА |
---|---|---|---|
Сильный ливень | Специалист по управлению в чрезвычайных ситуациях | 1 | 0 |
Шквалистый ветер | Специалист по управлению в чрезвычайных ситуациях | 1 | 0 |
Lightning | Газета | 0 | 1 |
Внезапное наводнение | Подготовленный корректировщик | 0 | 2 |
Внезапное наводнение | Широковещательные носители | 0 | 3 |
Внезапное наводнение | Газета | 0 | 1 |
Сильный ветер | Правоприменение | 1 | 0 |
Тепла | Газета | 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 |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по