Del via


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.

  • Log på Microsoft Fabric.

  • Brug oplevelsesskifteren nederst til venstre på startsiden til at skifte til Fabric.

    Skærmbillede af menuen til skift af oplevelse, der viser, hvor du skal vælge Datavidenskab.

  • 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.

Konfigurer notesbogen

I dette afsnit skal du konfigurere et notesbogmiljø med de nødvendige moduler og data.

  1. Installér SemPy fra PyPI ved hjælp af funktionen %pip til indbygget installation i notesbogen:

    %pip install semantic-link
    
  2. Udfør den nødvendige import af moduler, som du skal bruge senere:

    import sempy.fabric as fabric
    
  3. Du kan oprette forbindelse til Power BI-arbejdsområdet. Vis de semantiske modeller i arbejdsområdet:

    fabric.list_datasets()
    
  4. 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)

Tjek andre selvstudier for semantisk link / SemPy: