Zelfstudie: Power BI-metingen extraheren en berekenen uit een Jupyter-notebook
In deze zelfstudie ziet u hoe u SemPy (preview) gebruikt om metingen te berekenen in semantische modellen (Power BI-gegevenssets).
In deze zelfstudie leert u het volgende:
- Power BI meet programmatisch via een Python-interface van de Python-bibliotheek (SemPy) van semantic link.
- Maak kennis met onderdelen van SemPy die helpen om de kloof tussen AI en BI te overbruggen. Deze onderdelen zijn onder andere:
- FabricDataFrame- een pandas-achtige structuur die is uitgebreid met aanvullende semantische informatie.
- Handige functies waarmee u semantische modellen kunt ophalen, waaronder onbewerkte gegevens, configuraties en metingen.
Vereisten
Haal een Microsoft Fabric-abonnement op. Of meld u aan voor een gratis proefversie van Microsoft Fabric.
Meld u aan bij Microsoft Fabric.
Gebruik de ervaringswisselaar aan de linkerkant van de startpagina om over te schakelen naar de Synapse-Datawetenschap-ervaring.
Selecteer Werkruimten in het linkernavigatiedeelvenster om uw werkruimte te zoeken en te selecteren. Deze werkruimte wordt uw huidige werkruimte.
Download het semantische PBIX.pbix-model van een retailanalyse en upload het naar uw werkruimte.
Volgen in het notitieblok
De notebook powerbi_measures_tutorial.ipynb begeleidt deze zelfstudie.
Als u het bijbehorende notitieblok voor deze zelfstudie wilt openen, volgt u de instructies in Uw systeem voorbereiden voor zelfstudies voor gegevenswetenschap om het notebook te importeren in uw werkruimte.
Als u liever de code van deze pagina kopieert en plakt, kunt u een nieuw notitieblok maken.
Zorg ervoor dat u een lakehouse aan het notebook koppelt voordat u begint met het uitvoeren van code.
Het notebook instellen
In deze sectie stelt u een notebookomgeving in met de benodigde modules en gegevens.
Installeren
SemPy
vanuit PyPI met behulp van de%pip
inline-installatiemogelijkheid in het notebook:%pip install semantic-link
Voer de benodigde importbewerkingen uit van modules die u later nodig hebt:
import sempy.fabric as fabric
U kunt verbinding maken met de Power BI-werkruimte. Geef de semantische modellen in de werkruimte weer:
fabric.list_datasets()
Laad het semantische model. In deze zelfstudie gebruikt u het semantische PBIX-voorbeeldmodel van een retailanalyse:
dataset = "Retail Analysis Sample PBIX"
Werkruimtemetingen vermelden
Maak een lijst met metingen in het semantische model, waarbij de functie van list_measures
SemPy als volgt wordt gebruikt:
fabric.list_measures(dataset)
Metingen evalueren
In deze sectie evalueert u metingen op verschillende manieren, met behulp van de functie van evaluate_measure
SemPy.
Een onbewerkte meting evalueren
Gebruik in de volgende code de functie van evaluate_measure
SemPy om een vooraf geconfigureerde meting te berekenen die 'Gemiddelde grootte van verkoopgebied' wordt genoemd. U kunt de onderliggende formule voor deze meting zien in de uitvoer van de vorige cel.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Een meting evalueren met groupby_columns
U kunt de uitvoer van de meting groeperen op bepaalde kolommen door de extra parameter groupby_columns
op te geven:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
In de vorige code hebt u gegroepeerd op de kolommen Chain
en DistrictName
de Store
tabel in het semantische model.
Een meting evalueren met filters
U kunt de filters
parameter ook gebruiken om specifieke waarden op te geven die het resultaat voor bepaalde kolommen kan bevatten:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
In de vorige code Store
is dit de naam van de tabel, Territory
de naam van de kolom en PA
een van de waarden die het filter toestaat.
Een meting evalueren in meerdere tabellen
U kunt de meting groeperen op kolommen die meerdere tabellen in het semantische model omvatten.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Meerdere metingen evalueren
Met de functie evaluate_measure
kunt u id's van meerdere metingen opgeven en de berekende waarden uitvoeren in hetzelfde DataFrame:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Power BI XMLA-connector gebruiken
De standaard-semantische modelclient wordt ondersteund door de REST API's van Power BI. Als er problemen zijn met het uitvoeren van query's met deze client, is het mogelijk om de back-end over te schakelen naar de XMLA-interface van Power BI met behulp van use_xmla=True
. De SemPy-parameters blijven hetzelfde voor metingberekening met 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)
Gerelateerde inhoud
Bekijk andere zelfstudies voor semantische koppeling /SemPy:
- Zelfstudie: Gegevens opschonen met functionele afhankelijkheden
- Zelfstudie: Functionele afhankelijkheden analyseren in een semantisch voorbeeldmodel
- Zelfstudie: Relaties ontdekken in een semantisch model met behulp van een semantische koppeling
- Zelfstudie: Relaties ontdekken in de Synthea--gegevensset met behulp van semantische koppeling
- Zelfstudie: Gegevens valideren met behulp van SemPy en Great Expectations (GX)