Vai al contenuto principale

Eseguire script Python in Power BI: tutorial

Scopri i diversi modi in cui puoi usare Python per ottimizzare l’analisi dei dati, la visualizzazione e la modellazione in Power BI.
· 9 min leggi

Scopri con l'IA

Python è uno dei linguaggi di programmazione più popolari e in più rapida crescita per data science e analytics. È in grado di svolgere compiti altamente complessi legati alla trasformazione dei dati, alla visualizzazione, al machine learning, all’intelligenza artificiale e molto altro. 

Power BI può integrarsi direttamente con Python, portando le funzionalità complessive di Power BI a un livello superiore. In questo tutorial ci concentreremo sulla configurazione e sull’uso degli script Python in Power BI per importare dati e arricchire un dataset esistente.

Perché usare Python in Power BI?

Usare Python con Power BI apre un ventaglio completamente nuovo di possibilità per lavorare con i dati. Python trasforma Power BI in una piattaforma in grado di fare praticamente qualsiasi cosa.

Ecco alcuni esempi di attività che puoi svolgere con Python in Power BI:

  • Pulizia dei dati - puoi scrivere script Python che automatizzano alcune delle attività di pulizia più ripetitive che esegui di frequente, come rimuovere valori mancanti o correggere i formati delle date.
  • Trasformazione dei dati - gli script Python sono utili per i dataset che richiedono trasformazioni più estese, che potrebbero essere lente o macchinose da fare nell’Editor di Power Query, prima dell’importazione. 
  • Machine learning - arricchire i tuoi dati con analisi predittive (come regressione o elaborazione del linguaggio naturale) o attività di machine learning non supervisionato come l’analisi dei cluster.
  • Gestione dei dati mancanti - Python offre più opzioni su come gestire i dati mancanti, ad esempio tramite modelli di machine learning.
  • Visualizzazioni avanzate - non ci sono limiti al tipo di visualizzazione che puoi aggiungere al tuo report quando usi Python. Aggiungi visualizzazioni molto complesse o personalizzate senza dover scaricare visual personalizzati in Power BI.
  • Connettività - Python ti consente di connetterti a quasi qualsiasi fonte dati anche se Power BI non la supporta tra le connessioni integrate.

Quali sono i limiti dell’uso di Python in Power BI?

Alcune limitazioni nell’uso di Python con Power BI da tenere a mente quando scrivi gli script sono:

  • Le origini dati aggiunte con Python devono essere impostate come pubbliche.
  • Solo i DataFrame di Pandas possono essere importati in Power BI usando Python.
  • Gli script che impiegano più di 30 minuti per l’esecuzione andranno in timeout, così come le visual Python che impiegano più di 5 minuti.
  • Power BI Service supporta un numero limitato di librerie Python (ne parleremo meglio nella prossima sezione). 
  • I report che usano Python possono essere aggiornati in Power BI Service solo tramite un gateway personale (il gateway enterprise o standard non è supportato).
  • Le visual Python non supportano il cross-filtering. Ciò significa che selezionare un elemento in una visual Python non farà filtrare le altre visual in base a quella selezione, riducendo in parte l’interattività del report Power BI.

Come accennato, Power BI Service supporta solo un numero limitato di librerie Python. Queste restrizioni non si applicano quando crei report con Power BI Desktop, quindi fai attenzione alle librerie che usi se hai intenzione di pubblicare i tuoi report su Power BI Service.

Ricorda inoltre che Power BI Service attualmente supporta il runtime Python 3.7.7. Se stai scrivendo i tuoi script in una versione precedente di Python, il codice potrebbe non essere eseguito correttamente.

Power BI Service supporta queste librerie:

  • Matplotlib
  • NumPy
  • Pandas
  • Scikit-learn
  • Scipy
  • Seaborn
  • Statsmodels
  • XGBoost

Vale la pena notare che, affinché l’integrazione tra Power BI e Python funzioni, devono essere installate almeno due librerie Python: Pandas e Matplotlib.

Come configurare Python in Power BI

Prima di poter scrivere qualsiasi script in Power BI, devi installare l’ultima versione di Python dal sito di Python. 

La documentazione di Power BI consiglia di evitare l’uso di gestori di ambienti come Anaconda, perché potrebbero causare problemi nell’esecuzione degli script. Un possibile workaround, se usi un ambiente personalizzato in Anaconda, è attivare l’ambiente da riga di comando e poi aprire Power BI Desktop sempre dalla riga di comando. 

Tuttavia, se hai meno familiarità con questi aspetti della programmazione, è più semplice attenerti al consiglio di Power BI scaricando Python dal suo sito senza usare ambienti personalizzati.

Una volta installato Python, devi specificare il percorso file corretto in Power BI Desktop. Dalla ribbon, seleziona “File”, poi “Opzioni e impostazioni” e quindi “Opzioni”. Nell’elenco delle opzioni globali, cerca “Scripting Python”. Qui dovrai indicare la directory che contiene la distribuzione di Python.

Dovresti riuscire a vedere tutte le distribuzioni Python installate sul tuo computer nel menu a discesa. Se devi digitare manualmente il percorso, ricorda che qui sono supportati solo percorsi assoluti e non puoi inserire un percorso relativo, ad esempio rispetto alla posizione del report di Power BI

Python Scripting in Power BI

Ci sono diversi modi per usare script Python in Power BI:

  • Come origine dati per importare nuovi dati.
  • Per arricchire un’origine dati esistente nell’Editor di Power Query.
  • Per visualizzare i dati nel canvas del report Power BI.

Il resto di questo tutorial illustrerà come usare Python come origine dati e per arricchire un’origine dati esistente.

Usare Python come origine dati in Power BI

Nella scheda Home della ribbon, seleziona “Ottieni dati” per visualizzare l’elenco completo delle connessioni. Seleziona la categoria “Altro” e trova “Script Python” nell’elenco. Questo ti permetterà di scrivere uno script Python per importare un dataset. Lo trovo particolarmente utile quando mi connetto a un’origine dati non supportata nell’elenco delle connessioni di Power BI, o anche a un dataset che richiede ampie trasformazioni prima dell’importazione (ad esempio da un’API).

Using Python as a Data Source in Power BI

Si aprirà una finestra di dialogo in cui inserire il tuo codice Python. In questo esempio useremo la libreria Scikit-Learn per caricare il dataset Iris, che useremo anche nella sezione successiva. Ricorda che Power BI consente di importare solo Pandas DataFrame, quindi dobbiamo prima convertire il dataset usando “pd.DataFrame”.

Python Script in Power BI

Nella finestra successiva, seleziona la tabella chiamata “df” che contiene i dati. Ora potrai caricare questo dataset nel modello dati come qualsiasi altra origine in Power BI. 

Navigator in Power BI Screenshot

Clustering K-Means in Power BI con Python

Il clustering K-Means è una tecnica di machine learning non supervisionato che consente di trovare gruppi di punti dati simili tra loro: i cluster. Questa tecnica è particolarmente utile nel marketing e nel customer service per comprendere meglio i clienti.

Power BI può eseguire l’analisi dei cluster sui tuoi dati senza bisogno di Python. Tuttavia, è un po’ restrittiva perché determina il numero di cluster in cui suddividere i dati e non permette di modificarlo. In situazioni come questa, Python è la soluzione ideale, perché ti dà la flessibilità di scrivere uno script in base alle tue esigenze.

Dall’interno dell’Editor di Power Query, seleziona la scheda Trasforma nella ribbon e poi “Esegui script Python”. Si apre una finestra di dialogo quasi identica a quella usata per importare il dataset, ma qui è presente un segnaposto per il dataset corrente chiamato “dataset”.

Run Python Script Power BI Screenshot

Facendo clic su “OK” verrà importata una tabella compressa. Ora devi espandere la colonna Value per selezionare quali colonne includere nella query. Seleziona tutte le colonne, compresa la nuova colonna “Cluster” appena creata dallo script sopra, e assicurati di deselezionare la casella “Usa nome colonna originale come prefisso”.

Power BI Use Original Column Name as Prefix

Alla fine, otterrai un dataset che contiene tutte le colonne originali più una colonna aggiuntiva che indica il cluster a cui è assegnata ogni riga dei dati. In questo esempio abbiamo scelto di suddividere i dati in 4 cluster, quindi dovresti vedere etichette di cluster da 0 a 3.

Splitting the Data into 4 Clusters Power BI

Conclusione 

Questa è solo la punta dell’iceberg di ciò che è possibile fare con l’integrazione tra Python e Power BI.  Se questo tutorial ha stuzzicato la tua curiosità su come ottenere il massimo da Power BI, dai un’occhiata al percorso di competenze Power BI Fundamentals di DataCamp o al percorso professionale Data Analyst with Power BI.  

Argomenti

Correlato