Plug-in pivot
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
Gira uma tabela transformando os valores exclusivos de uma coluna na tabela de entrada em várias colunas na tabela de saída e executa agregações conforme necessário em quaisquer valores de coluna restantes que aparecerão na saída final.
Observação
Se o OutputSchema não for especificado, o esquema de saída do pivot
plug-in será baseado nos dados de entrada. Portanto, várias execuções do plug-in usando diferentes entradas de dados podem produzir diferentes esquemas de saída. Isso também significa que a consulta que está fazendo referência a colunas descompactadas pode ficar "quebrada" a qualquer momento. Por esse motivo, não recomendamos o uso desse plug-in para trabalhos de automação sem especificar a função OutputSchema.
Sintaxe
T | evaluate pivot(
pivotColumn[,
aggregationFunction] [,
column1 [,
column2 ... ]])
[:
OutputSchema]
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
coluna pivô | string |
✔️ | A coluna a ser girada. Cada valor exclusivo dessa coluna será uma coluna na tabela de saída. |
aggregationFunction | string |
Uma função de agregação usada para agregar várias linhas na tabela de entrada a uma única linha na tabela de saída. Funções atualmente suportadas: min() , max() , take_any() , sum() variance() dcount() make_bag() avg() count() stdev() make_list() make_set() . O padrão é count() . |
|
coluna1, coluna2, ... | string |
Um nome de coluna ou uma lista separada por vírgulas de nomes de colunas. A tabela de saída conterá uma coluna adicional para cada coluna especificada. O padrão é todas as colunas, exceto a coluna dinâmica e a coluna de agregação. | |
Esquema de saída | Os nomes e tipos das colunas esperadas da saída do pivot plug-in.Sintaxe: ( ColumnName : ColumnType [, ...]) Especificar o esquema esperado otimiza a execução da consulta por não ter que primeiro executar a consulta real para explorar o esquema. Um erro será gerado se o esquema de tempo de execução não corresponder ao esquema OutputSchema . |
Devoluções
Pivot retorna a tabela girada com colunas especificadas (column1, column2, ...) mais todos os valores exclusivos das colunas pivot. Cada célula para as colunas dinâmicas conterá o cálculo da função agregada.
Exemplos
Dinamizar por uma coluna
Para cada EventType e State começando com 'AL', conte o número de eventos desse tipo nesse estado.
StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)
Saída
EventType | ALABAMA | ALASCA |
---|---|---|
Thunderstorm Wind | 352 | 1 |
Vento Forte | 0 | 95 |
Frio Extremo / Vento Frio | 0 | 10 |
Strong Wind | 22 | 0 |
Dinamizar por uma coluna com função de agregação
Para cada EventType e State que começa com 'AR', exiba o número total de mortes diretas.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))
Saída
EventType | ARKANSAS | ARIZONA |
---|---|---|
Chuva Forte | 1 | 0 |
Thunderstorm Wind | 1 | 0 |
Lightning | 0 | 1 |
Saturação de Flash | 0 | 6 |
Strong Wind | 1 | 0 |
Calor | 3 | 0 |
Dinamizar por uma coluna com função de agregação e uma única coluna adicional
O resultado é idêntico ao exemplo anterior.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)
Saída
EventType | ARKANSAS | ARIZONA |
---|---|---|
Chuva Forte | 1 | 0 |
Thunderstorm Wind | 1 | 0 |
Lightning | 0 | 1 |
Saturação de Flash | 0 | 6 |
Strong Wind | 1 | 0 |
Calor | 3 | 0 |
Especificar a coluna dinâmica, a função de agregação e várias colunas adicionais
Para cada tipo de evento, origem e estado, some o número de mortes diretas.
StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)
Saída
EventType | Origem | ARKANSAS | ARIZONA |
---|---|---|---|
Chuva Forte | Gerenciador de emergência | 1 | 0 |
Thunderstorm Wind | Gerenciador de emergência | 1 | 0 |
Lightning | Jornal | 0 | 1 |
Saturação de Flash | Spotter Treinado | 0 | 2 |
Saturação de Flash | Mídia de transmissão | 0 | 3 |
Saturação de Flash | Jornal | 0 | 1 |
Strong Wind | Aplicação da lei | 1 | 0 |
Calor | Jornal | 3 | 0 |
Dinamizar com um esquema de saída definido por consulta
O exemplo a seguir seleciona colunas específicas na tabela StormEvents. Ele usa uma definição de esquema explícita que permite que várias otimizações sejam avaliadas antes de executar a consulta real.
StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)
Saída
EventType | ALABAMA | ALASCA |
---|---|---|
Thunderstorm Wind | 352 | 1 |
Vento Forte | 0 | 95 |
Vento de tempestade marinha | 0 | 0 |
Strong Wind | 22 | 0 |
Frio Extremo / Vento Frio | 0 | 10 |
Cold/Wind Chill | 0 | 0 |
Vento forte marinho | 0 | 0 |
Vento forte marinho | 0 | 0 |