Esercitazione: Estrarre e calcolare le misure di Power BI da un Jupyter Notebook
Questa esercitazione illustra come usare SemPy (anteprima) per calcolare le misure nei modelli semantici (set di dati di Power BI).
In questa esercitazione apprenderai a:
- Valutare le misure di Power BI in modo programmatico tramite un'interfaccia Python della libreria Python (SemPy) del collegamento semantico.
- Acquisire familiarità con i componenti di SemPy che consentono di colmare il divario tra IA e BI. Questi componenti includono:
- FabricDataFrame: una struttura simile a pandas migliorata con informazioni semantiche aggiuntive.
- Funzioni utili che consentono di recuperare modelli semantici, inclusi dati non elaborati, configurazioni e misure.
Prerequisiti
Ottenere una sottoscrizione di Microsoft Fabric. In alternativa, iscriversi per ottenere una versione di valutazione di Microsoft Fabric gratuita.
Accedere a Microsoft Fabric.
Usare l’opzione esperienza sul lato sinistro della home page per passare all'esperienza Science di Synapse.
Selezionare Aree di lavoro nel riquadro di spostamento sinistro per trovare e selezionare l'area di lavoro. Questa area di lavoro diventa l'area di lavoro corrente.
Scaricare il modello semantico Retail Analysis Sample PBIX.pbix e caricarlo nell'area di lavoro.
Seguire la procedura nel notebook
Il notebook powerbi_measures_tutorial.ipynb accompagna questa esercitazione.
Per aprire il notebook di accompagnamento per questa esercitazione, seguire le istruzioni riportate in Preparare il sistema per le esercitazioni di data science per importare il notebook nell'area di lavoro.
Se si preferisce copiare e incollare il codice da questa pagina, è possibile creare un nuovo notebook.
Assicurarsi di collegare un lakehouse al notebook prima di iniziare a eseguire il codice.
Configurare il notebook
In questa sezione viene configurato un ambiente notebook con i moduli e i dati necessari.
Installare
SemPy
da PyPI usando la funzionalità di installazione in linea%pip
all'interno del notebook:%pip install semantic-link
Eseguire le importazioni necessarie di moduli che serviranno in un secondo momento:
import sempy.fabric as fabric
È possibile connettersi all'area di lavoro di Power BI. Elencare i modelli semantici nell'area di lavoro:
fabric.list_datasets()
Caricare il modello semantico. In questa esercitazione si usa il modello semantico Retail Analysis Sample PBIX:
dataset = "Retail Analysis Sample PBIX"
Elencare le misure dell'area di lavoro
Elencare le misure nel modello semantico usando la funzione list_measures
di SemPy come indicato di seguito:
fabric.list_measures(dataset)
Valutare le misure
In questa sezione si valutano le misure in vari modi, usando la funzione evaluate_measure
di SemPy.
Valutare una misura non elaborata
Nel codice seguente usare la funzione evaluate_measure
di SemPy per calcolare una misura preconfigurata denominata "Average Selling Area Size". È possibile visualizzare la formula sottostante per questa misura nell'output della cella precedente.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Valutare una misura con groupby_columns
È possibile raggruppare l'output della misura in base a determinate colonne specificando il parametro aggiuntivo groupby_columns
:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Nel codice precedente il raggruppamento è stato effettuato in base alle colonne Chain
e DistrictName
della tabella Store
nel modello semantico.
Valutare una misura con filtri
È anche possibile usare il parametro filters
per specificare valori specifici che il risultato può contenere per colonne specifiche:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
Nel codice precedente, Store
è il nome della tabella, Territory
è il nome della colonna e PA
è uno dei valori consentiti dal filtro.
Valutare una misura tra più tabelle
È possibile raggruppare la misura in base a colonne che si estendono su più tabelle nel modello semantico.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Valutare più misure
La funzione evaluate_measure
consente di fornire identificatori di più misure e restituire i valori calcolati nello stesso DataFrame:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Usare il connettore XMLA di Power BI
Il client del modello semantico predefinito è supportato dalle API REST di Power BI. Se si verificano problemi durante l'esecuzione di query con questo client, è possibile passare dal back-end all'interfaccia XMLA di Power BI usando use_xmla=True
. I parametri SemPy rimangono invariati per il calcolo delle misure con XMLA.
fabric.evaluate_measure(dataset, \
measure=["Average Selling Area Size", "Total Stores"], \
groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
use_xmla=True)
Contenuto correlato
Vedere altre esercitazioni per il collegamento semantico/SemPy:
- Esercitazione: Pulire i dati con dipendenze funzionali
- Esercitazione: Analizzare le dipendenze funzionali in un modello semantico di esempio
- Esercitazione: Individuare le relazioni in un modello semantico usando il collegamento semantico
- Esercitazione: Individuare le relazioni nel set di dati Synthea usando il collegamento semantico (anteprima)
- Esercitazione: Convalidare i dati usando SemPy e Great Expectations (GX) (anteprima)