Del via


Udtræk og beregn Power BI-målinger fra en Jupyter-notesbog

I dette selvstudium kan du se, hvordan du bruger SemPy (prøveversion) til at beregne målinger i semantiske Power BI-modeller.

I dette selvstudium lærer du, hvordan du kan:

  • Evaluer Power BI-målinger programmatisk ved hjælp af Python-grænsefladen i Semantic Link-biblioteket (SemPy)
  • Få mere at vide om SemPy-komponenter, der hjælper med at bygge bro mellem AI og BI:
    • FabricDataFrame – pandalignende struktur forbedret med semantisk information
    • Funktioner, der henter 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, og vælg derefter dit arbejdsområde for at angive det som det aktuelle arbejdsområde.

  • Download den semantiske model PBIX.pbix-eksempel på detailhandelsanalyse , og overfør 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 notesbogsmiljø.

  1. Installer SemPy fra PyPI ved hjælp af %pip indbygget i notesbogen.

    %pip install semantic-link-sempy
    
  2. Importer de moduler, du vil bruge senere.

    import sempy.fabric as fabric
    
  3. Opret forbindelse til Power BI-arbejdsområdet, og få vist de semantiske modeller i arbejdsområdet.

    fabric.list_datasets()
    
  4. Indlæs den semantiske model. I dette selvstudium kan du bruge den semantiske model Eksempel på detailhandelsanalyse.

    dataset = "Retail Analysis Sample"
    
    dataset = "Retail Analysis Sample PBIX"
    

Vis målinger for arbejdsområde

Brug SemPy's til at angive målinger list_measures i en semantisk model:

fabric.list_measures(dataset)

Evaluer målinger

Brug SemPys funktion til at evaluere målinger evaluate_measure på forskellige måder.

Evaluer en rå måling

Brug SemPys evaluate_measure funktion til at beregne den forudkonfigurerede måling med navnet "Gennemsnitlig salgsområdestørrelse".

fabric.evaluate_measure(dataset, measure="Average Selling Area Size")

Evaluer en måling med groupby_columns

Gruppér resultatet efter kolonner ved hjælp af parameteren groupby_columns :

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Denne kode grupperer efter Store[Chain] og Store[DistrictName].

Evaluer en måling med filtre

Brug parameteren filters til at begrænse resultaterne til bestemte kolonneværdier:

fabric.evaluate_measure(dataset, \
                        measure="Total Units Last Year", \
                        groupby_columns=["Store[Territory]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})

I dette eksempel er tabellen, StoreTerritory er kolonnen og PA er en tilladt værdi.

Evaluer en måling på tværs af flere tabeller

Gruppér efter kolonner på tværs af 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 flere målings-id'er og returnerer de beregnede værdier i en enkelt 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 semantisk model bruger REST-API'er til Power BI. Hvis forespørgsler mislykkes med denne klient, skal du skifte til Power BI XMLA-slutpunktet ved at angive use_xmla=True. SemPy-parametre er de samme for målingsberegninger 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)

Se andre semantiske links og SemPy-tutorials: