Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
A junção de dados de várias tabelas permite analisar dados entre fontes e criar relações entre pontos de dados. Na Kusto Query Language (KQL), use os operadores de junção e pesquisa para combinar dados entre tabelas.
Neste tutorial, aprenderás como:
Os exemplos neste tutorial usam a tabela StormEvents, a qual está disponível publicamente no cluster de ajuda. Para explorar com os seus próprios dados, crie o seu próprio cluster gratuito.
Os exemplos neste tutorial usam a tabela StormEvents, que está disponível publicamente no Weather analyticsdados de exemplo.
Pré-requisitos
Execute as consultas em um ambiente de consulta que tenha acesso aos dados de exemplo. Use uma das seguintes opções:
- Conta da Microsoft ou identidade de usuário do Microsoft Entra para entrar no cluster de ajuda
- Uma conta Microsoft ou identidade de utilizador do Microsoft Entra
- Espaço de trabalho do Fabric com capacidade habilitada para o Microsoft Fabric
Use o operador de junção
A base de dados Exemplos tem duas tabelas de eventos de tempestade relacionadas: StormEvents e PopulationData. Nesta seção, você os une para analisar dados que não são possíveis apenas com uma tabela.
Entenda os dados
Use o operador take para ver quais dados cada tabela contém.
StormEvents
| take 5
A tabela a seguir mostra apenas seis das 22 colunas retornadas.
| Horário de Início | Hora de Fim | EpisodeId | ID do Evento | Estado | Tipo de Evento | ... |
|---|---|---|---|---|---|---|
| 2007/09/20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLÓRIDA | Tornado | ... |
| 2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Vento de Tempestade com Trovoada | ... |
| 2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEÓRGIA | Vento de Tempestade com Trovoada | ... |
| 2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLÂNTICO SUL | Tromba d'água | ... |
| 2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLÓRIDA | Chuva forte | ... |
PopulationData
| take 5
Saída
| Estado | População |
|---|---|
| ALABAMA | 4918690 |
| ALASKA | 727951 |
| ARIZONA | 7399410 |
| ARKANSAS | 3025880 |
| CALIFÓRNIA | 39562900 |
Ambas as tabelas têm uma State coluna.
StormEvents tem muito mais colunas, e PopulationData tem uma outra coluna com a população do estado.
Junte-se às mesas
Combine PopulationData com StormEvents em State para calcular o total de dano de propriedade per capita por estado.
StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita
Adicione | render columnchart à consulta para visualizar o resultado.
Se as colunas tiverem nomes diferentes (por exemplo, StormEvents tem State e PopulationData tem StateName), especifique a junção como:
StormEvents
| join kind=innerunique PopulationData on $left.State == $right.StateName
$left refere-se à tabela esquerda (exterior) na junção: StormEvents.
$right refere-se à tabela direita (interna): PopulationData.
Dica
Use o join operador para muitos tipos de junção. Veja a lista de tipos de junções.
Utilizar o operador de pesquisa
O operador de pesquisa otimiza consultas que enriquecem uma tabela de fatos com dados de uma tabela de dimensão. Esta operação estende a tabela de fatos com valores da tabela de dimensão. Por padrão, o sistema assume que a tabela esquerda é a tabela de fatos maior e a tabela direita é a tabela de dimensão menor. Esse padrão é o oposto da suposição do operador join.
O cluster de ajuda inclui um banco de dados nomeado ContosoSales com dados de vendas. A consulta a seguir usa lookup para mesclar as SalesFact tabelas e Products para retornar o total de vendas por categoria de produto.
SalesFact
| lookup Products on ProductKey
| summarize TotalSales = count() by ProductCategoryName
| order by TotalSales desc
Saída
| NomeDaCategoriaDoProduto | Vendas totais |
|---|---|
| Jogos e Brinquedos | 966782 |
| TV e Vídeo | 715024 |
| Câmaras e câmaras de vídeo | 323003 |
| Computadores | 313487 |
| Eletrodomésticos | 237508 |
| Áudio | 192671 |
| Telemóveis | 50342 |
| Música, filmes e audiolivros | 33376 |
Observação
O operador lookup suporta apenas dois tipos de junção: leftouter e inner.
Ingressar em tabelas geradas por consultas
Junte os resultados da mesma tabela.
Suponha que você queira uma lista de estados que têm eventos de raios e avalanches. Use o operador join para mesclar linhas de duas consultas que retornam estados distintos para cada tipo de evento na State coluna.
StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
StormEvents
| where EventType == "Avalanche"
| distinct State
)
on State
| project State
Saída
| Estado |
|---|
| OREGÃO |
| UTAH |
| WYOMING |
| WASHINGTON |
| COLORADO |
| IDAHO |
| NEVADA |
Conteúdo relacionado
- Saiba mais sobre os diferentes tipos de operador de junção.
- Execute consultas entre bancos de dados e clusters.
- Siga o tutorial Criar visualizações geoespaciais .