Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 KQL (Linguagem de Consulta Kusto), use os operadores de junção e pesquisa para combinar dados entre tabelas.
Neste tutorial, você aprenderá como:
Os exemplos neste tutorial usam a StormEvents tabela, que está disponível publicamente no cluster de ajuda. Para explorar com seus próprios dados, crie seu próprio cluster gratuito.
Os exemplos neste tutorial usam a StormEvents tabela, que está disponível publicamente nos dados de exemplo da análisemeteorológica.
Pré-requisitos
Execute as consultas em um ambiente de consulta que tenha acesso aos dados de exemplo. Use um dos seguintes:
- Conta da Microsoft ou identidade do usuário do Microsoft Entra para entrar no cluster de ajuda
- Uma conta da Microsoft ou identidade de usuário do Microsoft Entra
- Workspace do Fabric com capacidade habilitada para o Microsoft Fabric
Usar o operador de junção
O banco 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.
Entender 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.
| StartTime | EndTime | EpisodeId | EventId | Estado | EventType | ... |
|---|---|---|---|---|---|---|
| 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 | 12,554 | 68796 | MISSISSIPI | Ventos de tempestade | ... |
| 2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEÓRGIA | Ventos de tempestade | ... |
| 2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLÂNTICO SUL | Tromba de á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 |
| ALASCA | 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 tabelas
Junte PopulationData com StormEvents em State para calcular os danos totais à propriedade per capita em cada 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 (externa) na junção: StormEvents.
$right refere-se à tabela direita (interna): PopulationData.
Dica
Use o join operador para muitos tipos de junção. Consulte a lista de tipos de junção.
Usar o operador de pesquisa
O operador de pesquisa otimiza consultas que enriquecem uma tabela de fatos com dados de uma tabela de dimensão. Ele estende a tabela de fatos com valores da tabela de dimensão. Por padrão, o sistema pressupõe que a tabela esquerda é a tabela de fatos maior e a tabela direita é a tabela de dimensões menor. Esse padrão é o oposto da pressuposiçã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 tabelas SalesFact 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
| ProductCategoryName | TotalSales |
|---|---|
| Jogos e Brinquedos | 966782 |
| TV e vídeo | 715024 |
| Câmeras e filmadoras | 323003 |
| Computadores | 313487 |
| Eletrodomésticos | 237508 |
| Áudio | 192671 |
| Telefones celulares | 50342 |
| Livros de música, filmes e áudio | 33376 |
Observação
O lookup operador dá suporte apenas a dois tipos de junção: leftouter e inner.
Unir tabelas geradas por consulta
Unir resultados da mesma tabela.
Suponha que você queira uma lista de estados que tenham eventos de raios e avalanches. Use o operador de junção 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 |
|---|
| OREGON |
| UTAH |
| WYOMING |
| WASHINGTON |
| COLORADO |
| IDAHO |
| NEVADA |
Conteúdo relacionado
- Saiba mais sobre diferentes tipos de operador de junção.
- Execute consultas entre bancos de dados e entre clusters.
- Siga o tutorial Criar visualizações geoespaciais .