<< Back

SQL e Tableau, una rapida guida – Parte 2

Nel precedente articolo dedicato a SQL abbiamo visto come estrarre da un database i dati che ci interessano. Ora vedremo come eseguire delle join, quindi come combinare dati che arrivano da tabelle diverse.

Per gli esempi si è usato il file Superstore. Si premette che il file da cui si lancia la SQL Query deve essere aperto come Legacy connector.

open with legacy connector

SQL INNER Joins

Combinano più tabelle basando l’associazione su una colonna in comune, selezionando tutte le righe per le quali esiste un match, quindi gli elementi in comune.

Esempio

Select*FROM[ORDERS$]
INNER JOIN [Returns$]
ON [ORDERS$].[ORDER ID]=[Returns$].[ORDER ID]

Si estraggono le righe in cui si trova un Order ID in comune, il risultato finale sarà una tabella che presenta solo gli ordini che sono stati resi. Quelli non resi sono esclusi.

SQL LEFT/RIGHT/FULL Join

Sono utilizzare quando una INNER join che esclude valori non presenti in entrambe le tabelle è troppo riduttiva.

  • Left Join: la tabella scelta come LEFT viene aperta tutta, dalla prima all’ultima riga, e della tabella di destra verranno abbinate le righe nelle quali è presente un valore di match, un valore Null per le righe che non hanno un match.
  • Right Join: è l’esatto opposto di una left. La tabella scelta come RIGHT viene aperta tutta, dalla prima all’ultima riga e della tabella di sinistra verranno abbinate le righr nelle quali è presente un valore di match, un valore Null per le righe che non hanno un match.
  • Full Join: è la combinazione di una LEFT e RIGHT (scegliendo come data source un file Excel non è fattibile)

Select*FROM[ORDERS$]
LEFT JOIN [Returns$]
ON [ORDERS$].[ORDER ID]=[Returns$].[ORDER ID]

La tabella ordini verrà aperta completamente e se un ID era stato reso, accanto avremo i dati relativi ai resi. Se non era stato reso, avremo dei valori Null.

Ma è necessario imprare tutte queste istruzioni per fare delle Join in Tableau?

No. Basterà trascinare le tabelle Orders e Returns nella finestra Drag Sheet here, scegliere una la tipologia di join che vogliamo effettuare e scegliere una o più colonne da usare come campo di match (nel nostro esempio Order ID).

foto 3

SQL Union

L’operatore Union è usato per combinare il risultato di due istruzioni Select in cui le colonne hanno lo stesso nome e sono costituite dalla stessa tipologia di dati. L’operazione essenzialmente mette la seconda tabella alla fine della prima. Supponiamo di avere 3 tab separate (all’interno dello stesso file excel) separati per gli ordini del 2010, del 2011 e del 2012. Tutti uguali nella struttura, ma uno per ogni annata.

L’istruzione SQL da lanciare per appendere tutte le tabelle una sotto l’altra sarebbe:

SELECT [Profit]
FROM[Orders 2010$]
UNION
SELECT [Profit]
FROM [Orders 2011$]
UNION
SELECT [Profit]
FROM[Orders 2012$]
UNION
SELECT [Profit]
FROM[Orders 2013$]

Ma è necessario imprare questa istruzione per fare delle Join in Tableau?

No, basterà aprire il file excel in Tableau,  cliccare su New Union e scegliere le tabelle che si vogliono appendere.

foto union senza sql

Il risultato sarà un tabellone che contiene tutti e tre gli anni.

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.