Sprigiona la potenza di Python in Tableau con Tabpy

In questo articolo parleremo di come configurare un server Tabpy per poter utilizzare codici e script Python direttamente in campi calcolati di Tableau ed eseguirli on-the-fly nelle proprie visualizzazioni. Ovviamente, Tableau può integrarsi con numerosi linguaggi di programmazione, come ad esempio R, di cui avevamo già parlato in una precedente occasione.

Nello specifico, partiremo dall’installazione pulita di Python e delle librerie necessarie per scrivere e utilizzare un semplice script in Tableau sulla propria macchina. Successivamente, vedremo come configurare Tabpy in modo da poter essere usato su Tableau Desktop o Server.

Ma partiamo dalle basi…

Python

Python è uno dei linguaggi di programmazione più utilizzati attualmente al mondo. È basato sulla programmazione ad oggetti che possiamo immaginare come i “mattoncini” base che compongono e permettono la creazione di software via via più complessi. È molto user-friendly e semplice da imparare anche per un neofita di programmazione. Inoltre, supporta l’installazione di moduli e pacchetti che permettono di espandere la propria libreria di funzionalità e programmi, così che un codice Python possa essere integrato e riusato con o all’interno di molte altre tecnologie.

Esempi di librerie Python fondamentali sono NUMPY e SCIPY, che raccolgono un’enorme quantità di funzioni matematiche e statistiche, e PANDAS che fornisce i principali tools di analisi e manipolazione dei dati nonché i suoi famosi DataFrame. Esiste poi SCIKIT-LEARN, la più importante libreria di Machine Learning in Python.

Tabpy

Tabpy (o Tableau Python Server) è una delle Analytics Extension disponibili per Tableau che permette agli sviluppatori e utenti di dashboard di eseguire dei codici Python direttamente all’interno di campi calcolati.

Installare Python e le librerie necessarie per Tabpy

Per prima cosa scarichiamo e installiamo la versione di Python compatibile con il nostro Sistema Operativo, nel nostro caso Windows, collegandoci al seguente link. Attenzione: è necessario selezionare una versione di Python 3 fino alla 3.9 compresa per poter usare Tabpy! Nessuna implementazione di Python 2 supporta questa possibilità.

Nella prima schermata della procedura di installazione facciamo attenzione a selezionare “Add Python 3.X to PATH” in modo che il comando per richiamare Python ed eseguire i suoi script venga aggiunto alle variabili di ambiente del nostro sistema.

Una volta che Python è installato apriamo il Prompt dei Comandi (il terminale di Windows per azioni tramite linea di comando)

tabpy tableau

Da qui possiamo verificare se l’installazione di Python e l’aggiunta alle variabili di ambiente sono state completate con successo provando a richiamare il comando

python

Se nel terminale la schermata risultante è simile alla seguente, allora l’installazione di Python ha avuto successo

Inoltre, per verificare quali versioni di Python sono installate sulla macchina si può usare il comando

py -0

mentre per avviare una specifica versione puoi usare

py -3.x

sostituendo “x” con il numero della versione desiderata.

A questo punto installiamo le librerie necessarie ad usare Python su Tableau: Tabpy. Prima di tutto facciamo l’upgrade di pip (libreria predefinita di Python che serve a gestire le installazioni delle altre librerie) lanciando uno di questi comandi:

python -m pip install –upgrade pip  (*** per usare l’ultima versione di Python installata ***)

py -3.9 -m pip install –upgrade pip  (*** per aggiornare la versione di Python selezionata ***)

Per installare Tabpy il comando è il seguente

pip install tabpy

che installerà non solo la libreria Tabpy, ma anche tutte le altre dipendenze e librerie Python necessarie.

Per verificare il successo dell’installazione di Tabpy, da prompt dei comandi si esegue il comando tabpy. Se la schermata risultante è simile alla seguente:

Allora il servizio di Tabpy server è attivo e funzionante. Attenzione: ogni volta che si desidera usare o eseguire uno script in Tableau, serve ricordarsi di lanciare prima il comando tabpy dal prompt dei comandi.

Configurazione Tabpy su Tableau Desktop

Ora che Tabpy è attivo, sarà raggiungibile all’indirizzo della macchina server su cui è stato installato e avviato (ad es. http://my-server.it/) collegandosi alla porta 9004. Nel caso in cui ci trovassimo sulla stessa macchina su cui Tabpy sta girando allora si può usare: http://localhost:9004/

Per permettere a Tableau di comunicare con il server Tabpy, apriamo Tableau Desktop e andiamo su: Help > Settings and Performance > Manage Analytics Extension Connection e impostiamo la connessione al localhost sulla porta 9004

Possiamo verificare la connessione cliccando su “Test Connection”. Una nuova finestra ci confermerà il successo della connessione:

 

Bene ora è tutto pronto, ricorda solo di aprire il prompt dei comandi e digitare Tabpy per attivare la connessione altrimenti Tableau mostrerà un errore di connessione con il server e i campi calcolati che richiedono Python non potranno essere eseguiti.

Configurazione Tabpy su Tableau Server

Per permettere a Tableau Server di comunicare con il server Tabpy la procedura è simile, ma sarà necessario poter accedere come Utente Amministratore su Tableau Server.

Effettuato l’accesso al sito, si dovrà andare su Impostazioni > Extensions e scorrere verso il basso fino a trovare la voce Analytics Extensions. Si dovrà abilitare le estensioni per il sito e cliccare su “Create new connection” come mostrato in figura:

tabpy tableau

La finestra che si aprirà sarà molto simile al caso di Tableau Desktop e come prima dovremo inserire le stesse informazioni sul nome del server (es. localhost) e la porta (i.e. 9004), nonché inserire un nome personalizzabile alla connessione (ad es. “Tabpy”).

Ecco fatto! Ora tutte i workbook pubblicati su Tableau Server che includono campi calcolati in cui è inserito uno script Python potranno essere aperti e visualizzabili correttamente.

Prossimi passi

Se sei arrivato fino a questo punto, allora adesso hai imparato come installare Python, la libreria di Tabpy e come configurare la comunicazione tra Tableau e Python.

Nei prossimi episodi di questa mini-serie vedremo come impostare il Tabpy come Servizio di Windows in modo che venga eseguito in background senza doverci ricordare di lanciarlo ogni volta dal prompt dei comandi e uno use-case di esempio per creare e caricare su Tabpy server uno script e includerlo in un workbook. Inoltre, vedremo anche come è possibile includere un codice Python in uno step di Tableau Prep.

Quindi restate connessi!

Nel frattempo, per leggere altri utili suggerimenti e continuare la tua formazione Tableau, puoi seguirci sui nostri canali social LinkedIn e Facebook o iscriverti alla nostra nuova community LearnToViz, per commentare questo e gli altri contenuti con gli altri membri della piattaforma! fin