Подключаемый модуль pivot
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Поворот таблицы путем преобразования уникальных значений из одного столбца в входной таблице в несколько столбцов в выходной таблице и выполняет агрегирование по мере необходимости для всех оставшихся значений столбцов, которые будут отображаться в конечных выходных данных.
Примечание.
Если 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 |