Huomautus
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tässä artikkelissa kerrotaan, miten voit lukea tietoja ja metatietoja ja arvioida semanttisten mallien mittareita Microsoft Fabricin SemPy python -kirjaston avulla. Opit myös kirjoittamaan tietoja, joita semanttiset mallit voivat käyttää.
Edellytykset
Hanki Microsoft Fabric -tilaus. Voit myös rekisteröityä ilmaiseen Microsoft Fabric -kokeiluversioon.
Vaihda Fabriciin aloitussivun vasemmassa alakulmassa olevan käyttökokemuksen vaihtajan avulla.
- Tutustu Microsoft Fabricin datatieteen kokemukseen.
- Uuden muistikirjan luominen koodin kopioimiseksi ja liittämiseksi soluihin
- Spark 3.4:ssä ja tätä uudemmat versioissa semanttinen linkki on käytettävissä oletusarvoisessa suorituspalvelussa Fabricia käytettäessä, eikä sitä tarvitse asentaa. Jos käytät Spark 3.3:a tai uudempaa versiota tai haluat päivittää semanttisen linkin uusimpaan versioon, voit suorittaa komennon:
python %pip install -U semantic-link
- Lisää Lakehouse muistikirjaasi
- Lataa semanttinen Customer Profitability Sample.pbix -malli kangasmallisäilön tietojoukkokansiosta ja tallenna semanttinen malli paikallisesti.
Semanttisen mallin lataaminen työtilaan
Tässä artikkelissa käytetään asiakkaan tuottavuuden malli.pbix-semanttista mallia. Tämä semanttinen malli viittaa yritykseen, joka valmistaa markkinointimateriaaleja. Se sisältää eri liiketoimintayksiköiden tuote-, asiakas- ja vastaavat tuottotiedot.
- Työtilan avaaminen Fabric Data Science -toiminnossa
- Valitse Lataa > selaus ja valitse asiakkaan tuottavuuden malli.pbix semanttinen malli.
Kun lataus on valmis, työtilassasi on kolme uutta artefaktia: Power BI -raportti, koontinäyttö ja semanttinen malli, jonka nimi on Asiakkaan tuottavuuden malli. Tämän artikkelin vaiheet perustuvat tähän semanttiseen malliin.
Semanttisten mallien tietojen lukeminen Pythonilla
SemPy Python -ohjelmointirajapinta voi noutaa tietoja ja metatietoja Microsoft Fabric -työtilassa sijaitsevista semanttisista malleista. Ohjelmointirajapinta voi myös suorittaa kyselyitä niille.
Muistikirja, Power BI -tietojoukon semanttinen malli ja Lakehouse voivat sijaita samassa työtilassa tai eri työtiloissa. SemPy yrittää oletusarvoisesti käyttää semanttista malliasi seuraavasti:
- Lakehousen työtila, jos kiinnitit muistikirjaasi lakehousen.
- Muistikirjasi työtila, jos siihen ei ole kiinnitetty mitään.
Jos semanttinen mallisi ei sijaitse kummassakaan näistä työtiloista, sinun on määritettävä semanttisen mallin työtila, kun kutsut SemPy-menetelmää.
Tietojen lukeminen semanttisista malleista:
Luettele työtilassa käytettävissä olevat semanttiset mallit.
import sempy.fabric as fabric df_datasets = fabric.list_datasets() df_datasets
Luettele asiakkaan tuottavuuden mallin semanttisessa mallissa käytettävissä olevat taulukot.
df_tables = fabric.list_tables("Customer Profitability Sample", include_columns=True) df_tables
Luettele asiakkaan tuottavuuden mallissa määritetyt mittarit semanttisessa mallissa.
Vihje
Seuraavassa koodiesimerkissä määritimme SemPy:lle työtilan, jota käytetään semanttisen mallin käyttämiseen. Voit korvata sen
Your Workspace
työtilan nimellä, johon latasit semanttisen mallin (kohdasta Semanttisen mallin lataaminen työtilaan ).df_measures = fabric.list_measures("Customer Profitability Sample", workspace="Your Workspace") df_measures
Tässä määritettiin, että Customer-taulukko on kiinnostava taulukko.
Lue Asiakas-taulukko Asiakkaan tuottavuuden mallin semanttisesta mallista.
df_table = fabric.read_table("Customer Profitability Sample", "Customer") df_table
Muistiinpano
- Tiedot noudetaan XMLA:n avulla. Tämä edellyttää, että käytössä on vähintään XMLA:n vain luku -tila.
- Noudettavien tietojen määrää rajoittaa - enimmäismuisti per kysely kapasiteetti-SKU: lle, joka isännöi semanttista mallia - Spark-ohjainsolmu (katso lisätietoja solmun koosta ), joka suorittaa muistikirjan
- Kaikissa pyynnöissä pienen prioriteetin avulla voidaan minimoida vaikutus Microsoft Azure Analysis Services suorituskykyyn, ja niitä laskutetaan vuorovaikutteisena pyyntönä.
Arvioi jokaisen asiakkaan tilan ja päivämäärän Kokonaistuotto-mittari.
df_measure = fabric.evaluate_measure( "Customer Profitability Sample", "Total Revenue", ["'Customer'[State]", "Calendar[Date]"]) df_measure
Muistiinpano
- Oletusarvoisesti tietoja ei noudeta XMLA:n avulla, joten ne eivät vaadi XMLA:n vain luku -käyttöä.
- Power BI -taustarajoitukset eivät koske tietoja.
- Noudettavien tietojen määrää rajoittaa - enimmäismuisti kapasiteetti-SKU:n kyselyä kohden, joka isännöi semanttista mallia - Spark-ohjainsolmu (katso lisätietoja solmuko'ista ), joka suorittaa muistikirjan
- Kaikkia pyyntöjä laskutetaan vuorovaikutteisena pyyntönä
- evaluate_dax-funktio ei päivitä semanttista mallia automaattisesti. Katso lisätietoja tämän sivun .
Jos haluat lisätä suodattimia mittayksikön laskentaan, määritä tietyn sarakkeen sallittujen arvojen luettelo.
filters = { "State[Region]": ["East", "Central"], "State[State]": ["FLORIDA", "NEW YORK"] } df_measure = fabric.evaluate_measure( "Customer Profitability Sample", "Total Revenue", ["Customer[State]", "Calendar[Date]"], filters=filters) df_measure
Voit myös arvioida Total Revenue -mittarin asiakkaan tilaa ja päivämäärää kohden DAX-kyselyllä.
df_dax = fabric.evaluate_dax( "Customer Profitability Sample", """ EVALUATE SUMMARIZECOLUMNS( 'State'[Region], 'Calendar'[Date].[Year], 'Calendar'[Date].[Month], "Total Revenue", CALCULATE([Total Revenue])) """)
Muistiinpano
- Tiedot noudetaan XMLA:n avulla, joten niiden käyttöön lisääminen edellyttää vähintään XMLA:n vain luku -käyttöä.
- Microsoft Azure Analysis Services- ja Spark-ohjainsolmujen käytettävissä oleva muisti rajoittaa noudettavien tietojen määrää (lisätietoja on solmukokojen luona)
- Kaikissa pyynnöissä käytetään matalaa prioriteettia sen minimoimiseksi, mikä vaikuttaa Analysis Services -suorituskykyyn, ja niitä laskutetaan vuorovaikutteisena pyyntönä
Käytä solun
%%dax
taikaa saman DAX-kyselyn arvioimiseen ilman tarvetta tuoda kirjastoa. Lataa solun taika suorittamalla%%dax
tämä solu:%load_ext sempy
Työtilaparametri on valinnainen. Se noudattaa samoja sääntöjä kuin funktion
evaluate_dax
työtilaparametri.Solun taika tukee myös Python-muuttujien käyttöä syntaksin
{variable_name}
avulla. Jos haluat käyttää aaltosulkeita DAX-kyselyssä, voit välttää sen toisella aaltosulkeella (esimerkki:EVALUATE {{1}}
).%%dax "Customer Profitability Sample" -w "Your Workspace" EVALUATE SUMMARIZECOLUMNS( 'State'[Region], 'Calendar'[Date].[Year], 'Calendar'[Date].[Month], "Total Revenue", CALCULATE([Total Revenue]))
Tulokseksi saatava FabricDataFrame on saatavilla -muuttujan
_
kautta. Tämä muuttuja tallentaa viimeisen suoritetun solun tuloksen.df_dax = _ df_dax.head()
Voit lisätä mittareita ulkoisista lähteistä noudettuihin tietoihin. Tämä lähestymistapa yhdistää kolme tehtävää:
- Se ratkaisee sarakkeiden nimet Power BI -dimensioihin
- Se määrittää ryhmittelyn sarakkeiden mukaan
- Se suodattaa mittarin Kaikki sarakkeiden nimet, joita ei voi ratkaista tietyssä semanttisessa mallissa, ohitetaan (lisätietoja on tuetussa DAX-syntaksiresurssissa ).
from sempy.fabric import FabricDataFrame df = FabricDataFrame({ "Sales Agent": ["Agent 1", "Agent 1", "Agent 2"], "Customer[Country/Region]": ["US", "GB", "US"], "Industry[Industry]": ["Services", "CPG", "Manufacturing"], } ) joined_df = df.add_measure("Total Revenue", dataset="Customer Profitability Sample") joined_df
Erityiset parametrit
SemPy-parametrilla read_table
ja evaluate_measure
-menetelmillä on enemmän parametreja, joista on hyötyä tuloksen muokkaamisessa. Näitä parametreja ovat esimerkiksi seuraavat:
-
fully_qualified_columns
: "Tosi"-arvolle menetelmät palauttavat sarakkeiden nimet lomakkeessaTableName[ColumnName]
-
num_rows
: Tuloksessa tulostettavien rivien määrä -
pandas_convert_dtypes
: Pandas-arvoksi pandas heittää tulokseksi saatavat DataFrame-sarakkeet parhaan mahdollisen dtype-convert_dtypes. Jos tämä parametri on poistettu käytöstä, tyypin yhteensopivuusongelmat liittyvien taulukoiden sarakkeiden välillä voivat aiheuttaa ongelmia. Power BI -malli ei välttämättä tunnista näitä ongelmia IMPlisiittisen DAX-tyypin muunnoksen vuoksi
SemPy read_table
käyttää myös Power BI:n tarjoamia mallitietoja.
Semanttisten mallien kuluttamien tietojen kirjoittaminen
Lakehouse-järjestelmään lisätyt Spark-taulukot lisätään automaattisesti vastaavaan semanttiseen oletusmalliin. Tässä esimerkissä näytetään, miten voit kirjoittaa tietoja liitettyyn Lakehouse-järjestelmään. FabricDataFrame hyväksyy samat syötetiedot kuin Pandas-tietokehykset.
from sempy.fabric import FabricDataFrame
df_forecast = FabricDataFrame({'ForecastedRevenue': [1, 2, 3]})
df_forecast.to_lakehouse_table("ForecastTable")
Power BI:llä ForecastTable-taulukko voidaan lisätä yhdistelmäsemanttiseen malliin Lakehousen semanttisella mallilla.