Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Denne artikkelen beskriver utformingsemner som er relevante for utvikling av semantiske modeller i Direct Lake.
Velg riktig lagringsmodus
Direkte innsjølagringsmodus har to former. Bruk følgende veiledning for å velge den Direct Lake-typen som passer best til din situasjon. For mer informasjon, se full sammenligning av lagringsmoduser.
Bruk Direct Lake på OneLake når...
- Du forventer vanligvis raskere spørringsytelse.
- Du bruker ett eller flere Fabric-gjenstander hvis OneLake-lagring løses til gyldige Delta-tabeller, enten native eller via snarveier.
- Du trenger komposittmodellering med Import- eller DirectQuery-tabeller.
- Du bør bruke OneLake sikkerhet.
- Du trenger modelleringsfunksjoner som beregnede kolonner eller beregnede tabeller som refererer til Direct Lake-tabeller (forhåndsvisning).
- Du vil ha konsistent Direct Lake-oppførsel uten DirectQuery-fallback (
DirectLakeOnlymodus).
Bruk Direct Lake på SQL når...
- Du er avhengig av sikkerhetsregler definert i SQL-analyseendepunktet med delegert identitetsmodus: RLS, CLS, OLS.
- Modellen din er basert på SQL-analysetabeller eller visninger fra en enkelt støttet Fabric-datakilde.
- Du trenger at ustøttede Direct Lake-scenarier faller tilbake til DirectQuery hvis fallback er aktivert (for eksempel spørringer mot SQL-visninger).
Opprett modellen
Du kan opprette en semantisk Direct Lake-modell i Power BI Desktop eller fra mange Fabric-elementer i nettleseren. Fra et åpent Lakehouse kan du for eksempel velge Ny semantisk modell for å opprette en ny semantisk modell i Direct Lake-lagringsmodus.
Tabellen nedenfor viser de vanligste opprettelsesmetodene for hver type Direct Lake-semantisk modell.
| Støtter Direct Lake på OneLake | Støtter Direct Lake på SQL | |
|---|---|---|
| Opprettelse fra Power BI-tjenesten. For eksempel, velg Create fra venstre navigasjonsfelt, og velg deretter OneLake-katalogen. | Ja | Nei |
| Opprettelse fra Power BI Desktop. | Ja | Nei |
| Opprettelse fra SQL-analyse-endepunktsiden . For eksempel, åpne SQL-analyse-endepunktet for et lakehouse, og velg deretter Ny semantisk modell. | Ja | Ja |
Når du lager en Direct Lake-semantisk modell fra SQL-analyse-endepunktet, kan du velge mellom de to Direct Lake-typene, som vist i bildet nedenfor:
Denne dialogen har som standard Direct Lake på OneLake hvis SQL-analyseendepunktet er i brukeridentitetsmodus, eller Direct Lake på SQL hvis SQL-analyseendepunktet er i delegert modus. For mer informasjon, se Access-moduser i SQL analytics-endepunktet.
Alternativt, som med alle semantiske Power BI-modeller, kan du fortsette utviklingen av modellen ved hjelp av et XMLA-kompatibelt verktøy, for eksempel SQL Server Management Studio (SSMS) (versjon 19.1 eller nyere) eller fellesskapsverktøy med åpen kildekode. Fabric-notatbøker kan også programmatisk opprette og redigere semantiske modeller med semantisk lenke og semantiske lenkelaboratorier.
Power Query-kontakter
En enkel måte å finne ut om en eksisterende Direct Lake-semantisk modell er på OneLake eller SQL, er å sjekke koblingen i TMDL-visningen. Fra fanen Modell , dra Uttrykksnoden for å se M uttrykksdefinisjonen.
Direct Lake på OneLake bruker Azure Data Lake Storage connector.
Direct Lake på SQL bruker SQL Server-connectoren , eller connectoren OneLake.SqlAnalytics() .
Direct Lake-komposittmodeller
Direct Lake på OneLake muliggjør opprettelse av multi-kilde, sammensatte modeller som kombinerer tabeller i Direct Lake-modus med andre tabeller i Import/DirectQuery-modus, noe som gir verdifull fleksibilitet for dimensjonstabeller samtidig som Direct Lake utnyttes for svært store faktatabeller for å unngå kostbare oppdateringer og administrasjonskostnader. For mer informasjon, se avsnittet Composite semantic models with Direct Lake og Import storage mode tables .
Modelltabeller
Modelltabeller er normalt basert på tabellen i kilden til Fabric-dataelementet. Direct Lake på SQL tillater også valg av en SQL-visning. Spørringer til en modelltabell basert på en SQL-visning faller tilbake til DirectQuery-modus, noe som kan føre til lavere spørringsytelse.
Note
Med Direct Lake på OneLake kan tabeller basert på SQL-visninger legges til ved hjelp av andre lagringsmoduser som Import og/eller DirectQuery, fordi Direct Lake på OneLake støtter sammensatte modeller.
Tabeller bør inneholde kolonner for filtrering, gruppering, sortering og oppsummering, i tillegg til kolonner som støtter modellrelasjoner.
Hvis du vil ha mer informasjon om kolonner som skal inkluderes i semantiske modelltabeller, kan du se Forstå direkte lake-spørringsytelse.
For informasjon om håndheving av dataaksessregler med objektnivåsikkerhet (OLS) og radnivåsikkerhet (RLS), se Integrer Direct Lake-sikkerhet.
Metadata for Direct Lake-modell
Når du kobler til en semantisk Direct Lake-modell med XMLA-endepunktet, ser metadataene ut som en hvilken som helst annen modell. Direct Lake-modeller viser imidlertid følgende forskjeller:
- Egenskapen
compatibilityLevelfor databaseobjektet er 1604 (eller høyere). - Modusegenskapen for Direct Lake-partisjoner er satt til
directLake. - Direct Lake-partisjoner bruker delte uttrykk til å definere datakilder.
- Direct Lake på SQL — Uttrykket peker på SQL-analyse-endepunktet til lakehouse eller lageret. Direct Lake bruker SQL Analytics-endepunktet til å oppdage skjema- og sikkerhetsinformasjon, men det laster inn dataene direkte fra OneLake (med mindre det faller tilbake til DirectQuery-modus av en eller annen grunn).
- Direct Lake på OneLake — Uttrykket peker direkte til OneLake-lagringsstedet til Fabric-datakilden. Direct Lake bruker OneLake-API-ene for skjemaoppdagelse, sikkerhetssjekker og datainnlasting. Direct Lake på OneLake faller ikke tilbake til DirectQuery-modus.
Bruk M-parametere med distribusjonspipelines
For Direct Lake på OneLake gir ikke distribusjonspipelines datakilderegler. Bruk i stedet tekst M-parametere for å endre OneLake-kildelokasjonen mellom utrullingsfaser i pipelinen.
Følgende eksempel på Tabular Model Definition Language (TMDL) definerer tekstparametere for arbeidsområdets og lakehouse-ID-ene og refererer til dem i tilkoblingsuttrykket:
createOrReplace
expression 'DirectLake - Sales' =
let
Source = AzureStorage.DataLake("https://onelake.dfs.fabric.microsoft.com/" & WorkspaceId & "/" & LakehouseId, [HierarchicalNavigation = true])
in
Source
expression WorkspaceId = "<workspace-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]
expression LakehouseId = "<lakehouse-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]
For å parameterisere hele URL-en i stedet, erstatt de to ID-parameterne med dette uttrykket:
expression OneLakeSourceUrl = "https://onelake.dfs.fabric.microsoft.com/<workspace-id>/<item-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]
I Direct Lake-forbindelsesuttrykket, bruk AzureStorage.DataLake(OneLakeSourceUrl, [HierarchicalNavigation = true]). Bytt ut plassholderne med arbeidsplass- og innsjøhus- eller lager-ID-er. Når parameteren legges til det foregående skriptet, innrykk deklarasjonen på samme nivå som tilkoblingsuttrykket. Konfigurer én parameterregel for distribusjon i OneLakeSourceUrl stedet for separate regler for ID-ene.
For å tilpasse dette eksempelet til modellen din:
I webmodellering, gå til TMDL-visning og åpne det delte uttrykket som inneholder tilkoblingen
AzureStorage.DataLake.Legg til tekstparameteruttrykkene og oppdater forbindelsesuttrykket som vist i eksempelet. Behold navnet på det eksisterende tilkoblingsuttrykket, merknader og eventuelle ekstra tilkoblingsvalg uendret slik at eksisterende partisjoner fortsetter å referere til det. Bytt
<workspace-id>ut og<lakehouse-id>med kilde-arbeidsområdet og lakehouse-IDene, ikke fullstendige URL-er. For en warehouse-kilde, bruk enWarehouseIdparameter som inneholder warehouse-ID-en og referer til den i stedet forLakehouseId. Ikke bruk SQL Analytics endpoint ID. Alleexpressiondeklarasjoner må være på samme innrykksnivå.Bruk skriptet. Parametere må ha type
Textfor å bruke dem til rebinding gjennom parameterregler. Flere tilkoblinger kan dele en arbeidsområdeparameter samtidig som de bruker separate item-ID-parametere.I mål-pipeline-fasen, konfigurer du en distribusjonsparameterregel for hver verdi som endres. For eksempel, sett
WorkspaceIdtil mål-arbeidsområdets ID ogLakehouseIdtil mål-Lakehouse-ID-en. Hvis modellen ikke er i målfasen ennå, deploy den der først slik at du kan konfigurere reglene.Distribuer den semantiske modellen fra kildestadiet til målstadiet for å anvende reglene.
Oppdater målmodellen, verifiser slektskapet, og sørg for at den spør den tiltenkte kilden.
Målkilden må inneholde tabellene og kolonnene som modellen refererer til. Å endre parameterne oppretter ikke disse tabellene eller gir tilgang til dem. Sørg for at målmodellens tilkobling og tillatelser gir tilgang til måldataene.
For sammensatte modeller kan du lage tekstparametrene i Power Query i stedet for TMDL. Direct Lake-tilkoblingsuttrykket er ikke tilgjengelig i Power Query. Etter å ha opprettet parameterne, oppdater uttrykket i TMDL-visning, som i de foregående stegene.
Oppgaver etter publisering
Når du har publisert en semantisk Direct Lake-modell, bør du fullføre noen konfigurasjonsoppgaver. Hvis du vil ha mer informasjon, kan du se Behandle semantiske modeller i Direct Lake.