Exercício – Combinar os resultados da tabela usando o operador lookup
No exercício anterior, você usou o operador join
para encontrar o total de vendas por produto. Neste exercício, você usará o operador lookup
para encontrar o total de vendas por país/região.
Use o operador lookup
Sua equipe de vendas quer saber o total de vendas da empresa por país/região. Você pode usar um operador join
para obter as informações do cliente e do produto. No entanto, você obtém o melhor desempenho possível nesse tipo de consulta quando usa o operador lookup
para obter essas informações.
Lembre-se de que o operador lookup
enriquece uma tabela de fatos com os dados de uma tabela de dimensões. É um pouco parecido com a leitura de um livro (tabela de fatos) e a busca de palavras desconhecidas em um dicionário (tabela de dimensões).
Para essa consulta, você começará com a tabela SalesFact e usará o operador lookup
para obter os dados de Customer e adicioná-los à tabela resultante.
No procedimento a seguir, crie a consulta em fases para entender melhor o resultado do uso do operador lookup
.
Execute a consulta a seguir para obter dez linhas arbitrárias correspondentes da tabela SalesFact e da tabela Customers.
SalesFact | lookup Customers on CustomerKey | take 10
Confira a lista resultante. Observe que a tabela resultante contém colunas da tabela SalesFact seguidas por colunas correspondentes da tabela Customers.
Execute a consulta a seguir para obter o total de vendas por país/região.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Os resultados serão parecidos com a seguinte imagem:
Confira a lista resultante. Observe que as principais vendas estão nos Estados Unidos. Tente modificar a consulta para mostrar o total de vendas no Estados Unidos por estado.
Na unidade anterior, você usou um rightouter join
para obter o total de vendas por categoria de produto. Essa consulta levou 0,834 segundos para ser executada. Agora, escreva uma consulta para obter o mesmo resultado utilizando o operador lookup
e compare o tempo de execução.
Execute a consulta a seguir.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Os resultados serão parecidos com a seguinte imagem:
Observe que você obtém os mesmos resultados, mas o tempo de execução é de 0,398 segundo. O tempo de execução mais rápido é porque o operador
lookup
é otimizado para esse tipo de consulta.