Exercício – Combinar os resultados da tabela usando o operador lookup

Concluído

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.

  1. Execute a consulta a seguir para obter dez linhas arbitrárias correspondentes da tabela SalesFact e da tabela Customers.

    Executar a consulta

    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.

  2. Execute a consulta a seguir para obter o total de vendas por país/região.

    Executar a consulta

    SalesFact
    | lookup Customers on CustomerKey
    | summarize TotalSales = count() by RegionCountryName
    | order by TotalSales desc
    

    Os resultados serão parecidos com a seguinte imagem:

    Screenshot of the lookup operator, with total sales per country/region query and results.

  3. 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 uma externa direitajoin 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.

  1. Execute a consulta a seguir.

    Executar a consulta

    SalesFact
    | lookup Products on ProductKey
    | summarize TotalSales = count() by ProductCategoryName
    | order by TotalSales desc
    

    Os resultados serão parecidos com a seguinte imagem:

    Screenshot of lookup operator with total sales per product query and results.

    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.