Sfruttare al massimo Power BI usando Python

pittogramma Zerouno

Technology HowTo

Sfruttare al massimo Power BI usando Python

Scopri come utilizzare semplici script in Python nei tuoi report di Power BI per ottenere analisi dati personalizzabili senza limiti.

07 Set 2022

di Pablo Cerini

L’uso di script personalizzati consente di ampliare le funzionalità degli strumenti informatici e, in molti casi, migliorare radicalmente le prestazioni nei processi. In ambito analisi dati, uno dei linguaggi di programmazione più utili a questo scopo è Python, che permette di snellire le procedure e garantire un valore aggiunto a livello di risultati.

Che cos’è Python

Python è stato concepito alla fine degli anni ’80 da Guido van Rossum al Centrum Wiskunde & Informatic (CWI) nei Paesi Bassi come successore del linguaggio di programmazione ABC, ispirato a SETL, in grado di gestire le eccezioni e interfacciarsi con il sistema operativo Amoeba. La sua attuazione è iniziata nel dicembre 1989. In seguito, ha incontrato un notevole successo negli ambienti scientifici che utilizzavano Linux.

WHITEPAPER
Computer quantistico: i player principali e quanto conta nel business

Python è un linguaggio di programmazione interpretato, orientato agli oggetti e di alto livello con semantica dinamica. Le sue strutture di dati integrate di alto livello, combinate con la tipizzazione dinamica e l’associazione dinamica, lo rendono molto interessante per lo sviluppo rapido di applicazioni, nonché per l’uso come linguaggio di scripting per collegare insieme i componenti esistenti.

La sintassi di Python, semplice e facile da imparare, enfatizza la leggibilità e lo rende utilizzabile anche da utenti non specialisti IT, ma che abbiamo bisogno di accedere con una curva di apprendimento veloce a funzioni di scripting avanzate. L’interprete Python e l’ampia libreria standard sono disponibili gratuitamente e la loro installazione e configurazione è alla portata di tutti gli utenti.

Queste caratteristiche, unite alla disponibilità di librerie molto avanzate per l’impiego in contesti scientifici e statistici, hanno fatto sì che Python diventasse anche uno strumento molto impiegato in analisi dati e Machine Learning.

Che cos’è Microsoft Power BI

Microsoft Power BI è la famosa soluzione di casa Redmond dedicata all’analisi dati e alla Business Intelligence. Power BI è un software SaaS incluso nella suite cloud Microsoft365 (prima Office365). Si tratta di una piattaforma di business intelligence che fornisce anche a utenti aziendali senza specifiche competenze IT, strumenti per l’aggregazione, l’analisi, la visualizzazione e la condivisione dei dati.

L’interfaccia utente di Power BI è abbastanza intuitiva, almeno per gli utenti che hanno familiarità con Excel, e la sua profonda integrazione con altri prodotti Microsoft lo rende uno strumento self-service molto versatile che richiede poca formazione iniziale. Con Power BI è possibile creare Data Set da zero, oppure importare basi dati già esistenti. Le origini dati supportate sono tantissime, partendo dai database SQL fino a giungere alla possibilità di eseguire script in diversi linguaggi di programmazione.

Logiche di business avanzate in fase di ETL

Abbiamo quindi a disposizione due strumenti semplici da utilizzare, ma capaci di elaborazioni avanzate. Questo li rende ideali per eseguire velocemente report di facile consultazione, ma le loro capacità avanzate si rivelano utili quando è necessario affrontare specifiche esigenze di scenari più complessi.

Mentre, infatti, in molti report aziendali è sufficiente importare nell’ambiente di BI tabelle e viste, e si è già pronti ad operare senza effettuare altri interventi, si potrebbero verificare altri casi in cui la semplice importazione non sia sufficiente, ma siano necessarie operazioni di trasformazione sulla base dati anche con logiche complesse.

Ad esempio, potremmo dover recuperare una base dati da un programma legacy, che utilizza una sorgente dati non supportata. Oppure potremmo essere costretti a incorporare nei nostri report dei dati reperibili solo da chiamate API a servizi web esterni, magari con particolari specifiche legate alla sicurezza e all’autenticazione.

In tutti questi casi è difficile compiere l’operazione di ETL (Estrazione, Trasformazione e Loading, Caricamento dei dati) semplicemente con una query, ma si rivela necessario sviluppare un programma che compia le necessarie operazioni di collegamento e autenticazione contro la base dati e poi applichi le logiche richieste per rendere il dato fruibile al nostro report.

Come utilizzare Python

Un linguaggio di programmazione particolarmente versatile per questi scopi è Python, per il fatto che possiede dalle funzioni di accesso ai dati semplici e potenti da utilizzare. Con Python è possibile accedere alle sorgenti dati più svariate e applicare logiche di modellazione anche elaborate con poche linee di codice. Grazie alla libreria Panda, una delle più famose del linguaggio, le operazioni sui dati sono infatti veloci ed efficaci. Python incorpora, inoltre, una libreria specializzata per l’accesso alle basi dati SQL, che rimane al momento la più usata nell’ambito aziendale italiano.

Per utilizzare proficuamente Python con Microsoft Power BI, si può operare realizzando lo script fuori dal software di BI, su un editor dedicato a Python, e poi importare lo script in fase di caricamento dati.
Uno degli editor più comodi da utilizzare per Python è il Notebook Jupiter, per il semplice fatto che permette di avere un’anteprima in tempo reale del codice che stiamo scrivendo, senza dover configurare complessi ambienti di debug. Per installare Jupiter su Windows è sufficiente installare la suite Anaconda, che lo contiene al suo interno.

Una volta realizzato lo script, magari con le librerie Panda per chiamare un servizio API di terze parti, è sufficiente copiarlo per renderlo disponibile al di fuori dell’editor. Si può poi passare su Power BI e lanciare il Wizard di collegamento alla base dati.

Tra le diverse opzioni proposte (SQL, Excel, ecc.) Power BI propone anche la possibilità di inserire uno script Python direttamente come sorgente dati. Sarà sufficiente incollare il codice copiato nella finestra che si apre dopo aver selezionato questa opzione, e Power BI eseguirà tutte le logiche dello script nella sua fase di caricamento dati.

Questa funzionalità permette di estendere le logiche iniziali di collegamento ai dati con delle trasformazioni complesse e con l’esecuzione di logiche di business altrimenti difficilmente gestibili da uno strumento di analisi dati.

Pablo Cerini

Giornalista

Sviluppatore software, cresciuto nel mondo ERP, ma appassionato del mondo DEV a 360°. Affascinato dalla statistica e dal machine learning, con un chiodo fisso per le candele giapponesi

Articolo 1 di 4