<< Back

Tableau Prep: un primo caso reale

Abbiamo un DB vendite che contiene le vendite di prodotti misti, una parte di nostra produzione, una parte prodotte da terzi. Dobbiamo unire le informazioni del prodotto al nostro dataset, ma prodotti nostri e prodotti terzi si trovano su DB diversi.

Con gli strumenti che abbiamo ora a disposizione, potremmo fare due join, che però porterebbero ad un risultato che non è esattamente quello voluto:

Con un risultato del genere, per poter lavorare, dovremmo come minimo creare dei calculated field per allineare la colonna blu sotto quella verde. Ad esempio tutta una serie di MAX(Colonna1, Colonna2) – il max tra un valore null e un valore esistente è il valore esistente. Un calcolo per ogni singola colonna dei DB prodotti.

Ma in realtà, sarebbe molto più semplice se potessimo fare prima una UNION tra i DB vendite, sistemarli e poi mettere in join il risultato della union con il DB vendite:

Però i DB dei prodotti sono un CSV e un EXCEL, quindi due DB totalmente diversi… avremmo biogno di una cross DB union, che non esiste in Tableau.

Ci pensa Tableau Prep!

Vediamo  come!

Apriamo Tableau Prep e espandiamo la colonna delle connessioni sulla sinistra e clicchiamo sul pulsantino “più” per andare a cercare i nostri dataset da unire:

Funziona esattamente come un Tableau Desktop: avremo l’elenco delle Tables/Sheets presenti nell’excel o nel csv e dobbiamo trascinarli nell’area di lavoro sulla destra.

Cliccando sull’icona a forma di “più” accanto a uno dei due dataset che abbiamo aperto e selezioniamo “ADD UNION”.

Cliccando col tasto destro sul blocco della union possiamo rinominare questo step, che si chiama Union 1, con una descrizione a nostro piacimento, per documentare il flusso che andremo a costruire.

Ora prendiamo il secondo dataset da unire e trasciniamolo fisicamente sopra allo step della union: usciranno 3 comandi scritti in arancione:

  • ADD (sinistra): per aggiungere questo dataset alla union già esistente
  • NEW JOIN (destra): per creare istantamente una join a partire da questa union
  • NEW UNION (basso): per creare istantaneamente una nuova union a parire da questa union

Rilasciamo il dataset su ADD, a sinistra. Una preview nella parte inferiore dello schermo ci aiuterà facilmente a capire cosa sta succedendo:

Ad ogni  dataset, che viene aggiunto nell’area di lavoro, viene attribuito un colore. E’ evidente come le colonne Category, Sub-Category e Product Name siano state incolonnate una sotto l’altra nel modo giusto (c’è sia il blu che l’arancione), mentre Product_ID e Product ID non siano state incolonnate (è presente un solo colore).

Se le colonne sono tante, possiamo selezionare la casellina in alto “Show only missmatched fields”, per visualizzare solo le colonne che hanno dei problemi e andare a fare il match manuale, nello stesso modo in cui lo facciamo ora in Tableau: selezioniamo le due colonne e scegliamo l’opzione “Merge fields”:

Finalmente abbiamo una union corretta:

Possiamo ora inserire il DB delle vendite e fare la nostra join.

Dalla colonna di sinistra andiamo ad aprire il DB vendite, trasciniamo la tabella che vogliamo utilizzare e aggiungiamo  uno step di tipo Join, trascinando il nuovo dataset sulla union e scegliendo l’opzione di destra “New Join”:

Per configurare la join possiamo:

  1. Scegliere quali sono le colonne che rappresentano la chiave di match tra i due set di dati. In caso fosse necessario scegliere più di una colonna, possiamo cliccare sul pulsantino “più” e aggiungere una seconda clausola
  2. Cliccare col mouse sulle parti dell’insieme per decidere se vogliamo una left, right o full outer join
  3. Leggere il Summary per capire quante righe sono entrate nell’input left, quante nell’input right e quante ne sono uscite complessivamente dalla join.

Possiamo infine aggiungere uno step di Output e decidere dove salvare l’output (disco o server) e con che formato (csv, tde, hyper).

 

Federica Ferrarini

Trainer - Milano

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.