Potenziare l’Analisi dei Dati: l’integrazione di Python in Tableau

Strumenti utilizzati:
Tableau Python
Livello difficoltà:
Avanzato

Nell’era dei Big Data, la capacità di analizzare e visualizzare dati complessi è essenziale per qualsiasi Digital Data Analyst. Tableau dispone di una intuitiva interfaccia di visualizzazione dati ma presenta delle limitazioni nelle funzionalità di modellazione statistica che offre nativamente.

usare Python con Tableau

Fortunatamente, Tableau permette agli utenti di superare queste limitazioni attraverso l’uso di connessioni esterne, in particolare con Python, un linguaggio di programmazione particolarmente utilizzato nel campo della data science.

Introduzione

In questo articolo, esploreremo come Python può estendere le capacità di Tableau, permettendoti di eseguire analisi più dettagliate e personalizzate. Discuteremo come configurare il tuo sistema installando Python e Anaconda, e ti guiderò attraverso i passaggi per stabilire una connessione esterna con Python in Tableau. Questo approccio non solo amplifica le potenzialità di Tableau con le robuste librerie di Python ma apre anche la porta a un’infinità di possibilità nell’analisi avanzata dei dati.

Con l’obiettivo di rendere queste informazioni accessibili sia ai principianti che agli utenti avanzati, questo articolo servirà come una guida completa per integrare con successo Python nella tua routine di analisi dati con Tableau. Seguendo i consigli e le procedure dettagliate che stiamo per discutere, sarai in grado di trasformare le tue visualizzazioni di dati in potenti strumenti di insight e decisione.

Next step

Cosa è Python?

Python è un linguaggio di programmazione ad alto livello, interpretato e orientato agli oggetti, che ha guadagnato una popolarità immensa nel mondo dello sviluppo software grazie alla sua sintassi semplice e leggibile. Originariamente creato da Guido van Rossum nel 1991, Python si è evoluto per diventare uno strumento indispensabile in numerose aree della tecnologia, dalla programmazione web al machine learning.

Ampia applicazione in Data Science

Nel campo della data science, Python è particolarmente prezioso per diverse ragioni:

  • Librerie potenti: Python offre una vasta gamma di librerie specializzate come NumPy per il calcolo numerico, Pandas per la manipolazione dei dati, e Matplotlib per la visualizzazione dei dati. Queste librerie facilitano l’analisi e la manipolazione di grandi set di dati con meno codice e più efficienza.
  • Flessibilità e scalabilità: che tu stia lavorando su un piccolo progetto di analisi dati o sviluppando complessi sistemi di machine learning, Python scala efficacemente per adattarsi a esigenze diverse.
  • Comunità e supporto: essendo uno dei linguaggi di programmazione più popolari, Python gode di una vasta comunità di sviluppatori. Questo si traduce in un eccellente supporto peer-to-peer (P2P), risorse tecniche e aggiornamenti costanti alle sue librerie e funzionalità.

Utilizzo in programmazione generale

Oltre alla data science, Python trova applicazione in molti altri campi:

  • Sviluppo web: framework come Django e Flask permettono agli sviluppatori di costruire applicazioni web robuste e scalabili.
  • Automazione: Python è frequentemente usato per scrivere script che automatizzano i compiti quotidiani e le operazioni di sistema, rendendo i processi più efficienti e meno soggetti a errori umani.
  • Intelligenza artificiale: Python è la lingua franca nel campo dell’IA, con librerie come TensorFlow e Keras che facilitano la costruzione e il training di modelli di apprendimento automatico avanzati.

La semplicità di Python, unita alla sua potente suite di strumenti e librerie, lo rende il linguaggio preferito dai professionisti che desiderano analizzare, visualizzare e interpretare dati per trasformare informazioni complesse in insight azionabili.

Next step

Cosa è Tableau?

Tableau è uno dei principali software di visualizzazione dati utilizzato per trasformare quantità grezze di dati in formati visivi intuitivi e facilmente interpretabili. Il suo approccio user-friendly e la capacità di gestire grandi volumi di dati lo rendono uno strumento di scelta per data analyst, digital analyst, business intelligence professional e decision-maker in vari settori.

Capacità di visualizzazione dati

Tableau si distingue per le sue potenti capacità di visualizzazione che permettono agli utenti di:

  • Creare dashboard interattive: gli utenti possono combinare diverse visualizzazioni in una dashboard interattiva, rendendo i dati più accessibili e comprensibili per tutti i tipi di stakeholder.
  • Esplorazione visiva dei dati: attraverso funzionalità di trascinamento della selezione e zoom, gli utenti possono esplorare i dati in modo più dinamico, scoprendo pattern e correlazioni che potrebbero non essere evidenti nei report tradizionali.
  • Visualizzazioni personalizzabili: Tableau offre un’ampia gamma di tipi di grafici e visualizzazioni, da mappe geografiche a grafici a barre complessi, permettendo personalizzazioni dettagliate per adattarsi alle esigenze specifiche dell’utente.

Facilità d’uso e accessibilità

Uno dei principali punti di forza di Tableau è la sua interfaccia intuitiva:

  • Facilità d’uso: anche senza una profonda conoscenza tecnica, gli utenti possono creare visualizzazioni significative grazie a un’interfaccia drag-and-drop.
  • Connettività ai dati: Tableau si collega facilmente a quasi ogni fonte di dati, da file Excel a grandi database SQL, cloud data come Google BigQuery, o dati in tempo reale.

Impatto organizzativo

L’impiego di Tableau in un’organizzazione può significativamente migliorare la presa di decisioni basata sui dati, rendendo l’analisi accessibile a un pubblico più ampio e permettendo alle aziende di rispondere più rapidamente alle tendenze emergenti e alle dinamiche di mercato.

In sintesi, Tableau non solo facilita la visualizzazione dei dati ma arricchisce anche il processo decisionale strategico, trasformando i dati in insight visivi che possono guidare l’innovazione e il successo aziendale.

Next step

Perché integrare Python con Tableau?

L’integrazione di Python in Tableau rappresenta un’evoluzione significativa nell’analisi dei dati, combinando la potenza della programmazione con la facilità di visualizzazione. Questo connubio offre una serie di vantaggi che superano le limitazioni delle funzioni native di Tableau, ampliando così le capacità analitiche e la flessibilità dell’utente.

Superamento delle limitazioni native

Mentre Tableau è eccellente per le visualizzazioni e l’analisi di base, alcuni scenari di analisi richiedono capacità di calcolo più sofisticate, come:

  • Modellazione statistica avanzata: Python supporta analisi statistiche avanzate e tecniche di machine learning che vanno oltre le funzionalità standard di Tableau.
  • Manipolazione di dati complessi: Python consente una manipolazione dei dati più complessa e dettagliata, utilizzando librerie come pandas, che possono gestire facilmente operazioni su grandi set di dati, pulizia e preparazione.

Automazione e efficienza

Python può automatizzare molti processi all’interno di Tableau, migliorando l’efficienza e riducendo il tempo necessario per l’analisi:

  • Automazione dei flussi di lavoro: script Python possono essere utilizzati per automatizzare flussi di lavoro ripetitivi in Tableau, come aggiornamenti di dati e trasformazioni, permettendo agli analisti di concentrarsi su compiti più strategici.
  • Personalizzazione di calcoli e funzioni: Python offre la flessibilità di scrivere funzioni personalizzate che possono essere eseguite direttamente all’interno delle dashboard di Tableau.

Estensione delle Capacità di analisi

Integrando Python, gli utenti di Tableau possono sfruttare la vasta gamma di librerie e moduli Python per estendere le loro analisi:

  • Integrazione di librerie di Machine Learning: utilizzare librerie come scikit-learn per implementare modelli predittivi direttamente all’interno di Tableau.
  • Analisi di testo e NLP: l’applicazione di tecniche di Natural Language Processing (NLP) tramite Python per analizzare dati testuali direttamente in Tableau.

Interattività avanzata

L’uso di Python all’interno di Tableau può anche aumentare l’interattività delle visualizzazioni:

  • Script dinamici: gli script Python possono essere eseguiti in risposta a interazioni dell’utente con la dashboard, permettendo visualizzazioni dinamiche e personalizzate basate su input in tempo reale.

Scalabilità e comunità

La comunità globale di sviluppatori Python offre un costante flusso di nuovi strumenti e librerie che possono essere integrati in Tableau, garantendo che le soluzioni rimangano all’avanguardia e facilmente scalabili per adattarsi a nuove sfide analitiche.

In conclusione, l’integrazione di Python con Tableau non solo supera le limitazioni delle funzionalità native del software ma apre anche nuove porte per l’innovazione analitica, rendendo possibile una più profonda insight dei dati e una maggiore personalizzazione delle analisi.

Next step

Prerequisiti

Per integrare Python con Tableau, è essenziale avere un ambiente di lavoro ben configurato. Questa sezione delinea i prerequisiti necessari per stabilire una connessione efficace tra Python e Tableau, garantendo che tu possa sfruttare al meglio le capacità di entrambi gli strumenti.

Python

  • Versione: assicurati di avere installato Python 3.x, poiché è la versione più recente e supportata da molte librerie per l’analisi dei dati.
  • Installazione: Python può essere scaricato e installato direttamente dal sito ufficiale di Python. Durante l’installazione, è importante selezionare l’opzione per aggiungere Python al PATH del sistema operativo, facilitando l’esecuzione degli script Python da qualsiasi prompt dei comandi.

Tableau Desktop

  • Versione: è necessaria una versione di Tableau che supporti le connessioni esterne, come Tableau Desktop. Controlla che la tua licenza e la versione di Tableau siano aggiornate per supportare questa funzionalità.
  • Installazione: Tableau Desktop può essere acquistato e scaricato dal sito ufficiale di Tableau.

Anaconda

  • Utilità: Anaconda è una distribuzione di Python che semplifica la gestione dei pacchetti e l’ambiente, particolarmente utile per la data science e l’analisi statistica.
  • Installazione: scarica e installa Anaconda dal sito ufficiale di Anaconda. Questo installerà Python insieme a Anaconda e pre-configurerà molti pacchetti utili per l’analisi dei dati.
Anaconda Navigator

TabPy (Tableau Python Server)

  • Funzione: TabPy è un server Python che permette l’esecuzione di script Python direttamente all’interno di Tableau, facilitando l’integrazione delle capacità di analisi di Python nelle visualizzazioni di Tableau.
  • Installazione: TabPy può essere installato tramite pip (il gestore di pacchetti Python) con il comando `pip install tabpy-server`. Ulteriori dettagli sono disponibili nella documentazione ufficiale di TabPy.

Connettività di rete

  • Configurazione: assicurati che il tuo computer sia configurato per permettere la connessione tra Tableau e il server Python (TabPy). Questo potrebbe richiedere la configurazione del firewall o di altre impostazioni di sicurezza per permettere la comunicazione tra i due programmi.

Conoscenze base

  • Python e Tableau: è utile avere una conoscenza di base di Python e Tableau. Conoscenze specifiche su come utilizzare le librerie Python per l’analisi dei dati e la familiarità con l’interfaccia utente di Tableau possono risultare di grande aiuto.

Questi prerequisiti sono essenziali per sfruttare appieno l’integrazione di Python in Tableau, migliorando significativamente le tue capacità analitiche e visive.

Next step

Creazione di un ambiente in Anaconda

Configurare un ambiente Anaconda specifico per l’uso con Tableau è un passo fondamentale per garantire che le tue sessioni di analisi dei dati siano efficienti e separate da altri progetti Python. Questo aiuta a mantenere le dipendenze organizzate e a evitare conflitti tra pacchetti. Ecco come creare e configurare un ambiente Anaconda per l’uso con Tableau.

Passo 1: apertura di Anaconda Navigator o del prompt dei comandi

  • Anaconda Navigator: puoi aprire Anaconda Navigator dal menu Start di Windows o dal Launcher in MacOS.

Passo 2: creazione di un nuovo ambiente

  • Tramite Anaconda Navigator:
    • Nella barra laterale sinistra, clicca su ‘Environments‘.
Anaconda Navigator - Environments
  • Clicca su ‘Create‘ in basso.
Anaconda Navigator - Environments - Create

  • Nella finestra di dialogo che appare, inserisci un nome per il tuo ambiente, ad esempio `tableau_python`.
  • Scegli ‘Python’ come pacchetto da installare e seleziona la versione di Python che desideri usare, preferibilmente una versione compatibile con Tableau e le tue librerie.
  • Clicca su ‘Create‘ per avviare la creazione dell’ambiente.
Anaconda Navigator - Environments - Create - Settings

Passo 3: Attivazione dell’ambiente

  • Anaconda Navigator:
    • Scegli ‘Home’ dal menu laterale sinistro.
    • Seleziona il nuovo ambiente `tableau_python` dall’elenco a discesa ‘All applications on’.
    • L’ambiente ora sarà attivo e potrai installare ulteriori pacchetti da Navigator.
Anaconda Navigator - Home - tableau_python

Passo 4: Installazione dei pacchetti necessari

  • Installazione di TabPy e altri pacchetti:
    • Mentre il tuo ambiente è attivo, installa TabPy e altri pacchetti utili per l’analisi dei dati con Tableau. Utilizzando il terminale, installare utilizzando i seguenti comandi:
      • python -m pip install --upgrade pip
      • pip install tabpy
Anaconda Navigator - Environments - Open Terminal

  • Questa operazione richiede qualche minuto perché non si sta installando solo TabPy ma anche tutte le sue dipendenze con altri pacchetti. Una volta terminata l’operazione, riceverai un messaggio di avvenuta installazione di tutti i pacchetti e riapparirà il prompt dei comandi. Ora sei pronto per avviare il server locale e consentire l’apertura di una connessione al tuo computer. Per avviare il server Python per Tableau, inserisci il seguente comando e premi Invio:
    • tabpy
  • Verrà visualizzato un avviso che indica che stai abilitando il server TabPy senza che l’autenticazione sia stata configurata correttamente. Ti chiederà se vuoi procedere (y/N), come mostrato nella figura seguente. Se lo desideri, puoi configurare un nome utente e una password. Questa procedura esula dagli scopi di questo articolo, ma se vuoi abilitarla è disponibile una documentazione dettagliata al riguardo.
Anaconda Navigator - TabPy settings

  • Per ora, inserisci “y” e poi clicca sul pulsante Invio della tastiera. Questo attiverà TabPy e vedrai apparire alcune informazioni sul server. La cosa più importante è la porta su cui il servizio web è in ascolto. Per impostazione predefinita è la porta 9004. Questo è un dato importante da tenere presente quando passerai a Tableau.
  • Con il server in esecuzione nel terminale di comando, apri Tableau e stabilisci una connessione alla risorsa esterna. A tal fine, clicca su “Help” nella menu di navigazione in alto, passa il mouse su “Settings and Performance“, quindi clicca su “Manage Analytics Extension Connection”, come mostrato nella figura seguente.
Tableau - Connecting to external analytics extension

  • Vedrai apparire una finestra che ti chiederà di selezionare un tipo di connessione. Scegli “TabPy“.
Tableau - TabPy connection

  • Nella schermata successiva, inserisci “localhost” come “Hostname” e poi inserisci 9004 come “Port” (o qualsiasi altra porta tu abbia configurato), come mostrato qui di seguito; quindi clicca su “Test Connection“.
Tableau - TabPy settings
  • Se le informazioni sono corrette e il server è in esecuzione, dal prompt dei comandi vedrai comparire un messaggio che dice che Tableau Desktop si è connesso con successo all’estensione.

Passo 5: Verifica dell’ambiente

Se la connessione è riuscita, clicca su “Save” per chiudere il menu. Ora puoi scrivere script Python all’interno di Tableau Desktop. Questi script verranno eseguiti nell’ambiente che hai creato e poi verranno restituiti a Tableau Desktop come nuovi campi calcolati. Come prova, scrivi un’equazione molto semplice che prenda i valori delle vendite dai dati dal dataset Superstore integrato in Tableau Desktop e li moltiplica per 5 in Python. Il risultato verrà restituito da Python come campo calcolato che potrai utilizzare in Tableau Desktop. Per iniziare, crea un nuovo campo calcolato “Python script example” e inserisci il seguente calcolo:

SCRIPT_INT("return [int(x * 5) for x in _arg1]",SUM([Sales]))

Ora crea una piccola tabella incrociata che puoi controllare per verificare che i valori siano corretti. Aggiungi “Sub-Category” su “Rows” e poi trascina con il mouse “Sales” e “Python script example” sulla proprietà “Text” nel box “Marks”. Dovresti vedere risultati simili a quelli della seguente figura:

Tableau - Python script example

Questo è un esempio molto semplice ma utile per verificare che il tutto funzioni correttamente.

Una volta terminato di lavorare su Tableau, è sempre importante disconnettersi dalla connessione al server sia in Tableau Desktop che dal terminale. In Tableau Desktop, torna al menu “Manage Analytics Extension Connection” e seleziona “Disconnect“.

Tableau - Disconnect TabPy

Poi torna alla schermata del terminale e premi Ctrl + C

Terminal - Shutting down TabPy

Vedrai apparire un messaggio che dice “Shutting down TabPy…” e poi riapparirà la tua riga di comando.

Next step

Se utilizzi Tableau Cloud o Tableau Server

Se utilizzi Tableau Cloud o Tableau Server, dovrai distribuire un server TabPy su una piattaforma di cloud o web hosting. Puoi farlo utilizzando Docker o distribuendo direttamente il server su un servizio come Heroku.

Per eseguire il server remoto su Heroku:

Accedi al tuo account Heroku tramite un browser oppure, se invece non hai un account, iscriviti gratuitamente.
Vai al repository di TabPy su GitHub e clicca sul pulsante “Deploy to Heroku” nella sezione “README”.

Deploying TabPy to Heroku

  • Segui le istruzioni. Scrivi il nome del server e seleziona la posizione geografica del server (importante selezionare “Europe” per chi risiede in Europa e deve sottostare alle regole del GDPR).
  • Imposta username e password.

Una volta attivato il server puoi collegarlo a Tableau Cloud/Server con l’URL e il numero di porta indicati.

Next step

Esempio: usare Python con i calcoli di Tableau

Per questo esempio utilizzeremo un set di dati disponibile su Kaggle, relativo alle vendite di un negozio.

Store sales dataset da Kaggle

Userai Python per calcolare la correlazione di Pearson tra le vendite e i profitti tramite la funzione np.corrcoef di NumPy, che restituisce una matrice di coefficienti di correlazione. In Tableau, questo calcolo valuta la forza della relazione tra due variabili direttamente nelle visualizzazioni, aiutando a comprendere meglio come le variazioni in una variabile possano essere associate a variazioni nell’altra.

Prima però di proseguire vediamo di chiarire cosa è il Coefficiente di Correlazione di Pearson.

Il coefficiente di correlazione di Pearson, spesso indicato con “r”, varia tra -1 e +1. Un valore di +1 indica una correlazione positiva perfetta, -1 indica una correlazione negativa perfetta, e 0 indica che non c’è alcuna correlazione lineare tra le due variabili. Quindi:

  • +1: una correlazione di +1 indica che un aumento in una variabile è sempre associato a un aumento proporzionale nell’altra.
  • -1: una correlazione di -1 indica che un aumento in una variabile è sempre associato a una diminuzione proporzionale nell’altra.
  • 0: una correlazione di 0 indica che non c’è una relazione lineare tra le due variabili.
  • Valori Intermedi: Valori tra -1 e +1 indicano il grado di relazione lineare tra le variabili. Più il valore si avvicina agli estremi (-1 o +1), più forte è la correlazione.

Il coefficiente di correlazione di Pearson è ampiamente utilizzato in molti campi come economia, biologia, scienze sociali, marketing, e altro, per:

  • Determinare la forza di una relazione potenziale tra due variabili prima di condurre ulteriori analisi più complesse.
  • Aiutare nella selezione delle variabili in modelli di regressione lineare.

L’uso di questo coefficiente in contesti analitici come Tableau arricchisce l’analisi dei dati permettendo decisioni basate su insight quantitativi specifici riguardo le interdipendenze tra variabili.


Ora che abbiamo chiarito cosa è il Coefficiente di Correlazione di Pearson, possiamo proseguire con l’esempio.

Per eseguire uno script Python in un campo calcolato di Tableau, abbiamo bisogno di una di queste funzioni di script in base all’output:

  • SCRIPT_BOOL
  • SCRIPT_REAL
  • SCRIPT_INT
  • SCRIPT_STR

Ad esempio, se la nostra funzione restituisce valori booleani, dobbiamo usare la funzione SCRIPT_BOOL. Ricorda che puoi sempre ottenere valori interi e poi convertirli in altri tipi utilizzando le funzioni native.

Per il nostro calcolo useremo SCRIPT_REAL, che richiede due parti. La prima è lo script Python tra virgolette e la seconda parte sono gli argomenti aggregati.
Utilizzeremo il pacchetto Numpy di Python per calcolare una correlazione tra gli argomenti Vendite e Profitti.
Non potendo aggiungere direttamente gli argomenti, utilizzeremo invece dei segnaposto come “_arg1” e “_arg2”. Ad esempio, SUM([Profit]) è il secondo dell’ordine ed è collegato a “_arg2”. Quindi, estraiamo un coefficiente di correlazione dalla matrice np.corrcoef per restituire una singola colonna.

SCRIPT_REAL("import numpy as np 
return np.corrcoef(_arg1,_arg2)[0,1]", 
SUM([Sales]),SUM([Profit]))

Dopo aver aggiunto lo script nel campo di calcolo, clicca sul pulsante “Apply”. Lo script verrà eseguito e restituirà i valori corrispondenti al nome del cliente (Customer Name). Prima di premere il pulsante OK, clicca sul collegamento “Default Table Calculation” e cambia l’opzione da “Automatic” a “Customer Name“.

Prima di premere il pulsante OK, cliccare sul testo Default Table Calculation e cambia l'opzione da Automatic a Customer Name

Concludiamo visualizzando il grafico a dispersione della categoria di prodotto e della segmentazione dei clienti:

  • Trascina il campo Category e Sales nelle Colonne.
  • Poi, il campo Customer Segment e Profit nelle Righe.
  • Trascina Customer Name su Detail nella sezione Marks.
  • Infine, trascina il campo calcolato appena creato sul pulsante Label nella sezione Marks.

Il grafico mostra il coefficiente di correlazione dei clienti in base alla categoria di prodotto e al segmento di clientela. C'è un'alta correlazione tra la categoria Furniture e Small Business.

Il grafico appena creato mostra il coefficiente di correlazione dei clienti in base alla categoria di prodotto e al segmento di clientela, indicando un’alta correlazione tra la categoria Furniture e Small Business.

Infine, come indicato in precedenza, ricordati sempre di disconnetterti dalla connessione al server sia in Tableau Desktop che dal terminale.

That’s it!

Next step

Conclusione

L’integrazione di Python in Tableau apre un vasto campo di possibilità analitiche che estendono significativamente le capacità native di Tableau. Utilizzando Python, gli analisti possono implementare funzioni statistiche complesse, come il coefficiente di correlazione di Pearson, direttamente nelle loro dashboard, arricchendo l’analisi con approfondimenti che vanno oltre le semplici visualizzazioni di dati. Questo approccio non solo aumenta la precisione delle analisi ma permette anche una maggiore flessibilità nella manipolazione e nel trattamento dei dati. Con gli strumenti giusti e le conoscenze appropriate, l’uso combinato di Python e Tableau può trasformare l’analisi dei dati, rendendo le informazioni più accessibili e interpretabili per un’ampia gamma di utenti aziendali.

FAQ

News tag:
Torna in alto