Exercice : combiner les résultats de tables en utilisant l’opérateur lookup
Dans l’exercice précédent, vous avez utilisé l’opérateur join
pour rechercher le total des ventes par produit. Dans cet exercice, vous utilisez l’opérateur lookup
pour rechercher le total des ventes par pays/région.
Utilisez l’opérateur lookup
Votre équipe commerciale veut connaître les ventes totales de l’entreprise par pays/région. Vous pouvez utiliser un opérateur join
pour obtenir les informations du client et du produit. Toutefois, ce type de requête fonctionne mieux quand vous utilisez l’opérateur lookup
pour obtenir ces informations.
N’oubliez pas que l’opérateur lookup
enrichit une table de faits avec les données d’une table de dimension. On peut comparer cela à lire un livre (table de faits) en recherchant les mots inconnus dans un dictionnaire (table de dimensions).
Pour cette requête, vous commencez par la table SalesFact et utilisez l’opérateur lookup
pour obtenir les données Client et les ajouter à la table résultante.
Dans la procédure suivante, vous créez la requête en plusieurs phases afin de mieux comprendre le résultat de l’utilisation de l’opérateur lookup
.
Exécutez la requête suivante pour obtenir 10 lignes correspondantes arbitraires dans les tables SalesFact et Customers.
SalesFact | lookup Customers on CustomerKey | take 10
Examinez la liste résultante. Notez que la table résultante contient des colonnes de la table SalesFact suivies des colonnes correspondantes de la table Customers.
Exécutez la requête suivante pour obtenir le total des ventes par pays/région.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Les résultats doivent ressembler à ceux de l’image suivante :
Examinez la liste résultante. Remarquez que les ventes les plus élevées sont aux États-Unis. Essayez de modifier la requête pour afficher le total des ventes aux États-Unis par État.
Dans la leçon précédente, vous avez utilisé rightouter join
pour obtenir le total des ventes par catégorie de produits. L’exécution de cette requête a pris 0,834 seconde. Maintenant, écrivez une requête pour obtenir le même résultat en utilisant l’opérateur lookup
, puis comparez le temps d’exécution.
Exécutez la requête suivante.
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Les résultats doivent ressembler à ceux de l’image suivante :
Notez que vous obtenez les mêmes résultats, mais que le temps d’exécution est de 0,398 seconde. Le temps d’exécution est plus rapide, car l’opérateur
lookup
est optimisé pour ce type de requête.