Del via


Arbejd med TMDL-visning i Power BI Desktop (prøveversion)

TMDL-visning gør det muligt at scripte, redigere og anvende ændringer på semantiske modelobjekter med en moderne kodeeditor ved hjælp af TMDL (Tabular Model Definition Language) i Power BI Desktop, hvilket forbedrer udviklingseffektiviteten og giver fuldstændig synlighed og kontrol over semantiske modelmetadata.

TMDL-visning giver en alternativ oplevelse til semantisk modellering ved hjælp af kode i stedet for en grafisk brugergrænseflade, f.eks. Modelvisning.

TMDL-visning giver følgende fordele:

  • forbedret udviklingseffektivitet med en avanceret kodeeditor, der omfatter søg og erstat, tastaturgenveje, redigeringer med flere linjer og meget mere.
  • Øge genbrugsvenligheden ved nemt at scripte, dele og genbruge TMDL-scripts blandt semantiske modeludviklere. Brug f.eks. et centraliseret SharePoint-websted til nemt at dele semantiske modelobjekter, der kan genbruges, f.eks. kalendertabeller eller time intelligence-beregningsgrupper.
  • Få mere kontrol og gennemsigtighed, der viser alle semantiske modelobjekter og -egenskaber og tillader ændringer af elementer, der ikke er tilgængelige i Power BI Desktop-brugergrænsefladen, f.eks. IsAvailableInMDX eller DetailRowsDefinition.

Aktivér prøveversionsfunktion

Hvis du vil bruge TMDL-visning, skal du aktivere prøveversionsfunktionen. I Power BI Desktop skal du vælge Filer > Indstillinger > Indstillinger > prøveversionsfunktioner og markere afkrydsningsfeltet ud for TMDL-visning.

Script til TMDL

I Power BI Desktop skal du vælge TMDL-visning ikon, der er placeret i venstre side af vinduet, som vist på følgende billede.

Skærmbillede af T-M-D-L-visning af tabelmodeldefinitionssprog.

Når TMDL-visningen åbnes, er kodeeditoren til at starte med tom. Du kan scripte et semantisk modelobjekt, f.eks. en tabel, en måling eller en kolonne, ved at vælge objekterne i ruden Data og trække dem til kodeeditoren:

Skærmbillede af at trække et semantisk modelobjekt til lærredet T-M-D-L-visning.

Når du bruger TMDL-visning og trækker objektet fra ruden Data, scripts Power BI hele objektmetadata til den aktuelle fane som TMDL eller åbner en ny fane, hvis den aktuelle fane ikke er tom, som en createOrReplace TMDL-script for de valgte objekter, som vist på følgende billede:

Skærmbillede af de T-MD-metadata, der oprettes automatisk.

Du kan også højreklikke på et objekt i datavisningen og vælge Script TMDL til en ny fane eller til Udklipsholder, som vist på følgende billede:

Skærmbillede af at højreklikke på et objekt i datavisning for at få Power BI til at oprette T-M-D-L-metadatakode.

Drikkepenge

Flere markeringer understøttes ved at trykke på CTRL-tasten, før du scripter objekterne til TMDL-visningskodeeditoren.

Kodeeditor

Når du har scriptet et semantisk modelobjekt eller indsat TMDL-scriptet i kodeeditoren, kan du bruge de omfattende kodeoplevelsesfunktioner, der tilbydes af kodeeditoren til TMDL-visning. Med kodeoplevelsesfunktionerne kan du enten udforske modelmetadataene eller foretage ændringer, der senere kan anvendes på den semantiske model.

Semantisk fremhævning

Semantisk fremhævning er indbygget i kodeeditoren, hvilket forbedrer læsbarheden ved at anvende forskellige farver på dele af din kode baseret på betydningen. En sådan farvekodning gør det nemmere at forstå strukturen og funktionaliteten af din TMDL-kode, som vist på følgende billede.

Skærmbillede af farvekodning og semantisk fremhævning for T-M-D-L-metadatakode.

Du kan også udvide eller skjule sektioner i TMDL-scriptet som vist på følgende billede:

Skærmbillede af skjulning af kodesektioner i kodeeditoren.

Autofuldførelse

Autofuldførelse er indbygget i kodeeditoren og indeholder intelligente forslag, mens du skriver. Autofuldførelse kan gøre arbejdsprocessen hurtigere, reducere risikoen for fejl og hjælpe dig med at forstå dine kodeindstillinger ved dynamisk at foreslå mulige værdier eller egenskaber ved at tage hensyn til markørens placering.

Skærmbillede af autofuldførelse i kodeeditoren.

Du kan også udløse autofuldførelsesfunktionen et vilkårligt sted ved at trykke på Ctrl+Mellemrum.

Værktøjstips

Værktøjstippet kontekst vises, når musen holdes over musen, og indeholder oplysninger om hvert TMDL-objekt eller hver enkelt egenskab.

Skærmbillede af et kontekstværktøjstip, der vises, når musen peger på kodeeditoren, og som viser oplysninger om et TMDL-objekt eller en TMDL-egenskab.

Kodehandlinger

Når markøren er på en squiggle eller markeret tekst, viser TMDL-visningen et pæreikon, der angiver tilgængelige kodehandlinger, f.eks. generering af afstamningskoder eller rettelse af egenskabsnavn stavefejl.

Skærmbillede af TMDL-visningen i kodeeditoren, der viser et pæreikon ud for en vrikke, der angiver tilgængelige kodehandlinger, f.eks. generering af afstamningstags.

Skærmbillede af TMDL-visningen i kodeeditoren, der viser et pæreikon ud for en vrikke, der angiver tilgængelige kodehandlinger, f.eks. rettelse af egenskabsnavn stavefejl.

Kodeformatering

Formatér TMDL-koden ved at trykke på Skift + Alt + F eller ved at klikke på indstillingen Formatér på båndet.

Skærmbillede af kodeeditoren med TMDL-kode, der formateres ved hjælp af indstillingen Formatér på båndet.

Du kan også formatere markeret tekst ved hjælp af indstillingen "Formatér markering" i genvejsmenuen.

Skærmbillede af kodeeditoren med TMDL-kode, der formateres tastaturgenvejen Skift + Alt + F.

Fejldiagnosticering

Kodeeditorens indbyggede fejldiagnosticering hjælper dig med at identificere og løse problemer ved at fremhæve TMDL-sprogfejl i kodeeditoren med detaljerede meddelelser, der indeholder en vejledning i, hvordan du løser dem. Derudover findes der en fejloversigt i ruden Problemer, hvilket gør det nemt at navigere til fejlplaceringen i kodeeditoren, som vist på følgende billede.

Skærmbillede af fejldiagnosticering i kodeeditoren.

Anvend ændringer på den semantiske model

Når du er klar, kan du vælge knappen Anvend for at udføre TMDL-scriptet i forhold til den semantiske model og anvende dine ændringer af TMDL-koden.

Skærmbillede af anvendelse af dit script ved hjælp af knappen Anvend i kodeeditoren.

Når det lykkes, vises der en meddelelse, og din modelændring anvendes på den semantiske model.

Skærmbillede af succesbanneren i kodeeditoren, der angiver, at ændringerne blev anvendt.

I tilfælde af en fejl vises der en fejlmeddelelse for at vise, at dine modelleringsændringer ikke blev anvendt på den semantiske model. Du kan få vist flere oplysninger om fejlen ved at vælge linket Vis detaljer i meddelelsen, som derefter udvider ruden Output og viser oplysninger om fejl.

Skærmbillede af fejlbanner i kodeeditoren, der angiver, at ændringerne ikke lykkedes.

Seddel

TMDL-visning ændrer kun metadata for semantiske modeller uden at opdatere data eller påvirke rapporten. Hvis dine ændringer kræver en dataopdatering, f.eks. ændring af et PowerQuery-udtryk eller et beregnet kolonneudtryk, skal du manuelt opdatere tabellen eller modellen, før ændringerne træder i kraft. Desuden kan omdøbning af et felt i TMDL-visning ødelægge visualiseringer i den rapport, der bruger dette felt.

Vis ændringer af den semantiske model

TMDL-visning giver dig mulighed for at få vist scriptændringer ved at vise et eksempel på den semantiske model før og efter udførelse af scriptet, der vises som en TMDL-kodediff. Eksempelvisning af scriptændringer er især nyttig, når du kopierer scripts fra andre kilder, så du kan vurdere deres indvirkning, før du kører dem i forhold til din semantiske model.

Når du vælger knappen Eksempel, vises en TMDL-diff af den semantiske model før og efter udførelse af TMDL-scriptet under den åbne fane.

Skærmbillede af eksempelknappen til visning af scriptændringer.

Der vises et vindue side om side i ruden til højre, som vist på følgende billede.

Skærmbillede af visningsruden for ventende scriptændringer.

Røde og grønne felter fremhæver ændringerne, hvor røde felter er angivet fjernede eller ændrede linjer, og grønne, der angiver nye linjer.

Skærmbillede af røde og grønne fremhævninger for ventende scriptændringer.

Seddel

Sammenligningen er ikke direkte i forhold til det TMDL-script, der vises i øjeblikket, men snarere en omfattende semantisk modelsammenligning før og efter udførelse af scriptet. Nogle egenskaber kan derfor sorteres anderledes end det, der vises under fanen, ved at overholde standardegenskaben/objektrækkefølgen for TMDL.

Prøveversionen er skrivebeskyttet, men du kan fortsætte med at redigere scriptet. Hvis du vil opdatere eksempelvisningen efter ændringer, skal du vælge knappen Opdater eksempel som vist på banneret på følgende billede.

Skærmbillede af knappen Opdateringseksempel.

Der er en værktøjslinje i øverste højre hjørne af eksempelskærmen, der gør det muligt at navigere i alle kodeforskelle, så du kan skifte mellem indbygget eller side om side-diff , få vist eller skjule uændrede områder og lukke eksempelvisningen.

Skærmbillede af værktøjslinjen til eksempelvisning af scripts.

Der er et par overvejelser, du skal være opmærksom på, når du får vist ændringer af den semantiske model:

  • TMDL-visning nulstiller visningskonfigurationer til standard for hver eksempelkørsel.
  • En prøveversion kører kun med en gyldig TMDL-ændring. Ugyldige TMDL-scripts udfører ikke et eksempel, og der vises en fejl i ruden Output.

TMDL-scriptfaner

I TMDL-visningen kan du have flere scriptfaner på én gang, som alle kan omdøbes eller fjernes.

Skærmbillede af flere faner i T-M-D-L-visningen.

Indholdet af TMDL-visning faner gemmes i rapportfilen, når du gemmer Power BI Desktop-rapporten, så du kan fortsætte, hvor du slap, næste gang du åbner Power BI Desktop-rapportfilen. Når du gemmer i en Power BI Project (PBIP), gemmes hver scriptfane som en .tmdl-fil i mappen \TMDLScripts som vist på følgende billede.

Skærmbillede af filstrukturen til lagring af faner i en Power BI Desktop-fil.

Drikkepenge

Du kan åbne og redigere TMDL-scripts i Visual Studio Code, og de genindlæses korrekt efter genstart af Power BI Desktop.

De problemer og Output ruder viser fejl og meddelelser, der er specifikke for den scriptfane, der er valgt og vist i øjeblikket. Hvis du skifter til en anden TMDL-scriptfane, opdateres begge disse ruder med oplysninger, der er specifikke for den valgte og aktuelt viste fane.

Du kan vælge knappen Ryd for at tømme meddelelserne i ruden Output.

Skærmbillede af knappen Ryd, der bruges til at tømme meddelelser i outputruden.

Meddelelser gemmes kun for hver Power BI Desktop-session, så hvis du genstarter Power BI Desktop, ryddes alle outputmeddelelser for alle scriptfaner.

Prompt om opgradering på kompatibilitetsniveau

Kompatibilitetsniveauet for en semantisk Power BI-model bestemmer, hvilke funktioner der er tilgængelige. Med TMDL-visning kan du tilføje analysis services-objekter eller -egenskaber, også selvom de ikke er tilgængelige på det aktuelle kompatibilitetsniveau. Når du anvender en ændring, der kræver en opgradering på kompatibilitetsniveau, viser TMDL-visningen en prompt, der angiver, hvilket objekt eller hvilke objekter der skal opgraderes.

Skærmbillede af TMDL-visningen i Power BI med en prompt om opgradering af kompatibilitetsniveau. Meddelelsen angiver, at det aktuelle kompatibilitetsniveau på 1550 er under det krævede niveau på 1601 for egenskaben FormatStringDefinition og spørger, om ændringen skal opgraderes og anvendes igen.

Omdøbning af objekt med TMDL-visning

Hvis du vil omdøbe et objekt i TMDL-visningen, er det nødvendigt at scripte det overordnede objekt. Omdøbning af en kolonne kræver f.eks. scripting af tabellen, mens omdøbning af en tabel kræver scripting af hele den semantiske model. Få mere at vide om hierarkiet for tabellarisk objektmodel i følgende dokument: Hierarki for tabelobjektmodel.

Med TMDL-visningen kan massegengivelse udføres effektivt ved hjælp af enkle søge- og erstatningsmønstre. Du kan f.eks. omdøbe alle tabelkolonner til små bogstaver ved at følge disse trin.

Åbn TMDL-visningen, script den tabel, du vil ændre.

Tryk på CTRL+F for at åbne dialogboksen Søg og erstat, og sørg for, at indstillingen Regulært udtryk er aktiveret.

Skærmbillede af TMDL-visningen i Power BI, der viser funktionen Søg og erstat i brug. Erstat input er aktiv med en mulighed for at skifte mellem tilstanden Søg og Erstat, som er fremhævet på værktøjslinjen over kodeeditoren.

Angiv følgende mønstre i felterne Søg og erstat, og vælg Erstat alle.

Handling Mønster/erstatning
Finde (^\s+column\s+)(.+)
Erstat $1\L$2

Skærmbillede af konfigurationsskærmen for en Power BI-datamodel, der viser en definition af tabellen Product med to kolonner: produkt (streng) og productkey (int64) sammen med deres metadataegenskaber.

Kør TMDL-scriptet for at omdøbe alle tabelkolonner til små bogstaver med det samme:

Skærmbillede af en Power BI-produkttabel, der viser 14 kolonner, herunder attributterne brand, kategori, farve, producent, produkt, produktnøgle, underkategori, enhedsomkostninger, enhedspris og vægt.

Bemærk, at kolonnenavnet adskiller sig fra egenskaben sourceColumn.

Skærmbillede af en konfiguration af en Power BI-datamodel, der viser kolonnedefinitionen productKey med int64-datatype, hvor sourceColumn er knyttet til ProductKey i kildedataene.

Synkronisering mellem den semantiske modeltabel og Power Query-forespørgslen er afhængig af sourceColumn, så navnene bevares uafhængige. Når du åbner Power Query-editoren, vises de kolonnenavne, der svarer til sourceColumn, i stedet for modellens kolonnenavn. Hvis du omdøber en kolonne i brugergrænsefladen, føjes der ikke automatisk et omdøbningstrin til forespørgslen, før kildekolonnen og kolonnenavnet er identiske.

Skærmbillede af Power BI-forespørgselseditoren, der viser produktdata med kolonner for ProductKey, Product Code, Product og Manufacturer med 16 forespørgsler synlige i navigationsruden.

TMDL-visning og Power BI-projekt

Når du gemmer dit arbejde som et Power BI-projekt (PBIP), får du adgang til dine semantiske modeldefinitionsmetadata som TMDL-filer, hvilket giver en nyttig kildestyrings- og medudviklingsoplevelse, samtidig med at du kan foretage ændringer af den semantiske model uden for Power BI Desktop. Men hvis du ændrer TMDL-filerne i PBIP, skal du genstarte Power BI Desktop for at genindlæse disse ændringer. I modsætning hertil følger TMDL-visningen en mental model til scripting, så du effektivt kan anvende ændringer direkte på den semantiske model, der redigeres i Power BI Desktop ved hjælp af TMDL, uanset om filformatet er PBIX eller PBIP.

Du kan problemfrit integrere begge oplevelser. Du kan f.eks. opdatere TMDL-definitionen i PBIP for at få hurtige ændringer uden at starte Power BI Desktop og bruge TMDL-visningen, når Power BI Desktop allerede er åben for effektivt at implementere en række ændringer af den semantiske model ved hjælp af TMDL. Begge tilgange giver en omfattende og ensartet TMDL-kodeoplevelse.

Almindelige use cases til TMDL-visning

scenarie: jeg har brug for at genbruge eller dele en semantisk modeltabel med den komplette definition, herunder kolonner, udtryk i Power Query og sortering efter konfiguration og andre i en anden semantisk model.

Løsning: Åbn den semantiske model med tabellen, skal du scripte den ved hjælp af TMDL-visningen. Kopiér scriptet til det andet Power BI Desktop-vindue, åbn fanen TMDL-visning, og anvend scriptet.



scenarie: jeg har navngivet alle mine tabeller med præfikset "dim_" eller "fact_". Jeg vil gerne fjerne disse præfikser uden manuelt at opdatere hver af de over 100 tabeller.

Løsning: Åbn TMDL-visningen, skal du scripte den semantiske model, søge efter præfikset (regulære udtryk understøttes) og erstatte den med en tom tekst.



scenarie: jeg skal oprette et perspektiv i min semantiske model for at bruge funktionen tilpassede visualiseringer. Jeg kan dog ikke oprette eller redigere den ved hjælp af den grafiske grænseflade i Power BI Desktop.

Løsning: Åbn TMDL-visningen, opret en ny tom fane (eller brug scriptet fra et eksisterende perspektiv), og opret eller rediger derefter perspektivet ved hjælp af TMDL. Denne metode gælder også for andre semantiske modelmetadata, der mangler en grafisk grænseflade, f.eks. oversættelser, detaljerede rækkeudtryk og andre.

createOrReplace
      perspective SalesView
        perspectiveTable Sales
            perspectiveMeasure 'Sales Amount'
            perspectiveMeasure 'Sales Qty'
            perspectiveColumn Quantity
            perspectiveColumn 'Amount'


scenarie: jeg skal ændre Power Query-udtrykket i tabellen uden at udløse en opdatering.

Løsning: Script tabellen, rediger Power Query-udtrykket, og anvend ændringerne. TMDL-visning kræver ikke opdatering af dine data.



scenarie: skal jeg skifte lagringstilstand for tabellen fra DirectQuery til Import og omvendt

Løsning: Script tabellen, opdater partitionstilstanden, og anvend ændringer.



scenarie: jeg skal sikkerhedskopiere min semantiske modeldefinition, før jeg foretager betydelige ændringer og nemt vende tilbage til en tidligere definition, hvis det er nødvendigt.

Løsning: Script den semantiske model eller bestemte dele, du vil sikkerhedskopiere, foretag dine ændringer i andre visninger, og vend om nødvendigt tilbage til TMDL-visningen for at gendanne de tidligere metadata ved at køre det gemte script.



Overvejelser og begrænsninger

TMDL-visningen er i øjeblikket en prøveversion, så vær opmærksom på følgende begrænsninger:

  • Du kan bruge TMDL-visningen til at redigere alle objekter eller egenskaber i en semantisk model. Ufuldstændige eller forkerte ændringer kan dog medføre en uventet funktionsmåde. Du kan finde flere oplysninger om disse handlinger i artiklen Oprettelse af model.
  • Paletten Kommando viser nogle kommandoer, der ikke understøttes i øjeblikket.
  • Konfiguration af indledende Git-integration fra arbejdsområdet omfatter ikke TMDL-visningsscripts, der er gemt i publiceret semantisk model. Få mere at vide i artiklen om Fabric Git-integration.
  • Du kan ikke scripte modeloversigtsgrupper, f.eks. målinger, kolonner osv.

I følgende artikler beskrives mere om TMDL og dens anvendelse.