Esercizio - Combinare i risultati delle tabelle usando l'operatore lookup

Completato

Nell'esercizio precedente è stato usato l'operatore join per trovare il totale delle vendite per prodotto. In questo esercizio si userà l'operatore lookup per trovare il totale delle vendite per paese/area geografica.

Usando l'operatore lookup.

Il team di vendita vuole conoscere il totale delle vendite della società per paese/area geografica. È possibile usare un operatore join per ottenere le informazioni su clienti e prodotti. Tuttavia, questo tipo di query funziona meglio quando si usa l'operatore lookup per ottenere queste informazioni.

Si ricordi che l'operatore lookup arricchisce una tabella dei fatti con i dati di una tabella delle dimensioni. È un po' come leggere un libro (tabella dei fatti) e cercare parole sconosciute in un dizionario (tabella delle dimensioni).

Per questa query si inizia con la tabella SalesFact e si usa l'operatore lookup per ottenere i dati di Customer e aggiungerli alla tabella risultante.

Nella procedura seguente, si compila la query in più fasi per ottenere una migliore comprensione del risultato dell'uso dell'operatore lookup.

  1. Eseguire la query seguente per ottenere 10 righe arbitrarie corrispondenti dalla tabella SalesFact e della tabella Customers.

    Eseguire la query

    SalesFact
    | lookup Customers on CustomerKey
    | take 10
    

    Esaminare l'elenco risultante. Si noti che la tabella risultante contiene colonne della tabella SalesFact, seguite dalle colonne corrispondenti della tabella Customers.

  2. Eseguire la query seguente per ottenere il totale delle vendite per paese/area geografica.

    Eseguire la query

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

    I risultati dovrebbero essere simili a quelli nell'immagine seguente:

    Screenshot dell'operatore lookup con la query e i risultati del totale delle vendite per paese/area geografica.

  3. Esaminare l'elenco risultante. Si noti che le vendite principali sono negli Stati Uniti. Provare a modificare la query in modo da visualizzare il totale delle vendite negli Stati Uniti per stato.

Nell'unità precedente è stato usato un rightouter join per ottenere le vendite totali per categoria di prodotti. L'esecuzione della query ha richiesto 0,834 secondi. Scrivere ora una query per ottenere lo stesso risultato usando l'operatore lookup e quindi confrontare il tempo di esecuzione.

  1. Eseguire la query seguente.

    Eseguire la query

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

    I risultati dovrebbero essere simili a quelli nell'immagine seguente:

    Screenshot dell'operatore lookup con la query e i risultati relativi al totale delle vendite per prodotto.

    Si noti che si ottengono gli stessi risultati, ma il tempo di esecuzione è pari a 0,398 secondi. Il minor tempo di esecuzione è dovuto al fatto che l'operatore lookup è ottimizzato per questo tipo di query.