Compartilhar via


Plug-in pivot

Aplica-se a: ✅Microsoft FabricAzure 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