Selvstudium: Udtræk og beregn Power BI-målinger fra en Jupyter-notesbog
I dette selvstudium illustreres det, hvordan du bruger SemPy (prøveversion) til at beregne målinger i semantiske modeller (Power BI-datasæt).
I dette selvstudium lærer du, hvordan du kan:
- Evaluer Power BI-målinger programmatisk via en Python-grænseflade i semantisk links Python-bibliotek (SemPy).
- Bliv fortrolig med komponenter i SemPy, der hjælper med at bygge bro mellem AI og BI. Disse komponenter omfatter:
- FabricDataFrame – en pandaslignende struktur, der er forbedret med yderligere semantiske oplysninger.
- Nyttige funktioner, der giver dig mulighed for at hente semantiske modeller, herunder rådata, konfigurationer og målinger.
Forudsætninger
Få et Microsoft Fabric-abonnement. Du kan også tilmelde dig en gratis Prøveversion af Microsoft Fabric.
Brug oplevelsesskifteren nederst til venstre på startsiden til at skifte til Fabric.
Vælg Arbejdsområder i navigationsruden til venstre for at finde og vælge dit arbejdsområde. Dette arbejdsområde bliver dit aktuelle arbejdsområde.
Download den semantiske model Retail Analysis Sample PBIX.pbix , og upload den til dit arbejdsområde.
Følg med i notesbogen
Notesbogen powerbi_measures_tutorial.ipynb følger med dette selvstudium.
Hvis du vil åbne den medfølgende notesbog til dette selvstudium, skal du følge vejledningen i Forbered dit system til selvstudier om datavidenskab importere notesbogen til dit arbejdsområde.
Hvis du hellere vil kopiere og indsætte koden fra denne side, kan du oprette en ny notesbog.
Sørg for at vedhæfte et lakehouse til notesbogen , før du begynder at køre kode.
Konfigurer notesbogen
I dette afsnit skal du konfigurere et notesbogmiljø med de nødvendige moduler og data.
Installér
SemPy
fra PyPI ved hjælp af funktionen%pip
til indbygget installation i notesbogen:%pip install semantic-link
Udfør den nødvendige import af moduler, som du skal bruge senere:
import sempy.fabric as fabric
Du kan oprette forbindelse til Power BI-arbejdsområdet. Vis de semantiske modeller i arbejdsområdet:
fabric.list_datasets()
Indlæs den semantiske model. I dette selvstudium skal du bruge PBIX-semantisk PBIX-eksempelmodel :
dataset = "Retail Analysis Sample PBIX"
Vis målinger for arbejdsområde
Vis målinger i den semantiske model ved hjælp af SemPys list_measures
funktion på følgende måde:
fabric.list_measures(dataset)
Evaluer målinger
I dette afsnit evaluerer du målinger på forskellige måder ved hjælp af SemPys evaluate_measure
funktion.
Evaluer en rå måling
I følgende kode skal du bruge SemPys evaluate_measure
funktion til at beregne en forudkonfigureret måling, der kaldes "Gennemsnitlig størrelse på salgsområde". Du kan se den underliggende formel for denne måling i outputtet fra den forrige celle.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Evaluer en måling med groupby_columns
Du kan gruppere målingsoutputtet efter bestemte kolonner ved at angive den ekstra parameter groupby_columns
:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
I den forrige kode grupperede du efter kolonnerne Chain
og DistrictName
tabellen Store
i den semantiske model.
Evaluer en måling med filtre
Du kan også bruge filters
parameteren til at angive bestemte værdier, som resultatet kan indeholde for bestemte kolonner:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
I den forrige kode Store
er navnet på tabellen, Territory
navnet på kolonnen og PA
en af de værdier, som filteret tillader.
Evaluer en måling på tværs af flere tabeller
Du kan gruppere målingen efter kolonner, der strækker sig over flere tabeller i den semantiske model.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Evaluer flere målinger
Funktionen evaluate_measure
giver dig mulighed for at angive id'er for flere målinger og angive de beregnede værdier i den samme DataFrame:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Brug Power BI XMLA-connector
Standardklienten for semantiske modeller understøttes af REST API'er til Power BI. Hvis der er problemer med at køre forespørgsler med denne klient, er det muligt at skifte backend til Power BI's XMLA-grænseflade ved hjælp af use_xmla=True
. SemPy-parametrene forbliver de samme for målingsberegning med 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)
Relateret indhold
Tjek andre selvstudier for semantisk link / SemPy:
- Selvstudium: Ryd op i data med funktionelle afhængigheder
- Selvstudium: Analysér funktionelle afhængigheder i en semantisk eksempelmodel
- Selvstudium: Find relationer i en semantisk model ved hjælp af semantisk link
- selvstudium: Find relationer i datasættet Synthea ved hjælp af semantisk link
- selvstudium: Valider data ved hjælp af GX- (SemPy and Great Expectations)