Plug-in pivot
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 plugin usando entradas de dados diferentes, 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 usar este plugin 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 dinâmica | string |
✔️ | A coluna a ser girada. Cada valor exclusivo desta 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() dcount() avg() variance() stdev() , make_list() , make_bag() make_set() count() , . O padrão é count() . |
|
coluna1, coluna2, ... | string |
Um nome de coluna ou uma lista separada por vírgulas de nomes de coluna. A tabela de saída conterá uma coluna adicional por cada coluna especificada. O padrão são todas as colunas que não sejam a coluna pivotada e a coluna de agregação. | |
OutputSchema | Os nomes e tipos para as colunas esperadas da saída do pivot plugin.Sintaxe: ( ColumnName : ColumnType [, ...]) A especificação do esquema esperado otimiza a execução da consulta por não precisar 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 dinâmicas. Cada célula para as colunas dinâmicas conterá o cálculo da função agregada.
Exemplos
Pivotar 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 |
Pivotar por uma coluna com função de agregação
Para cada EventType e Estado começando 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 |
Pivotar 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, fonte e estado, somar 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 Broadcast | 0 | 3 |
Saturação de Flash | Jornal | 0 | 1 |
Strong Wind | Aplicação da lei | 1 | 0 |
Calor | Jornal | 3 | 0 |
Pivotar 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 Alto Marinho | 0 | 0 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de