Freigeben über


Arbeiten mit der TMDL-Ansicht in Power BI Desktop (Vorschau)

In der TMDL-Ansicht können Sie Änderungen an semantischen Modellobjekten mit einem modernen Code-Editor mithilfe von Tabular Model Definition Language (TMDL) in Power BI Desktop skripten, ändern und anwenden, um die Entwicklungseffizienz zu verbessern und vollständige Sichtbarkeit und Kontrolle über Semantikmodellmetadaten bereitzustellen.

Die TMDL-Ansicht bietet eine alternative Oberfläche zur semantischen Modellierung mithilfe von Code anstelle einer grafischen Benutzeroberfläche wie der Modellansicht.

Die TMDL-Ansicht bietet die folgenden Vorteile:

  • Verbesserte Entwicklungseffizienz mit einem umfangreichen Code-Editor, der Suchen und Ersetzen, Tastenkombinationen, Bearbeitung mehrerer Zeilen und vieles mehr umfasst.
  • Erhöhen Sie die Wiederverwendbarkeit, indem Sie TMDL-Skripts einfach skripten, freigeben und zwischen semantischen Modellentwicklern wiederverwenden. Verwenden Sie beispielsweise eine zentrale SharePoint-Website, um wiederverwendbare semantische Modellobjekte wie Kalendertabellen oder Zeitintelligenzberechnungsgruppen einfach freizugeben.
  • Gewinnen Sie mehr Kontrolle und Transparenz, zeigen Sie alle semantischen Modellobjekte und -eigenschaften an und ermöglichen Änderungen an Elementen, die in der Power BI Desktop-Benutzeroberfläche nicht verfügbar sind, z. B. IsAvailableInMDX oder DetailRowsDefinition.

Aktivieren des Vorschaufeatures

Um die TMDL-Ansicht zu verwenden, müssen Sie das Vorschaufeature aktivieren. Wählen Sie in Power BI Desktop Datei > Optionen und Einstellungen > Optionen > Previewfeatures aus, und aktivieren Sie anschließend das Kontrollkästchen TMDL-Ansicht.

Skript für TMDL

Wählen Sie in Power BI Desktop das TMDL-Ansichtssymbol auf der linken Seite des Fensters aus, wie in der folgenden Abbildung dargestellt.

Screenshot der Ansicht

Wenn sich die TMDL-Ansicht öffnet, ist der Codeeditor anfangs leer. Sie können jedes semantische Modellobjekt wie eine Tabelle, ein Measure oder eine Spalte skripten, indem Sie die Objekte aus dem Datenbereich auswählen und auf den Code-Editor ziehen:

Screenshot des Ziehens eines semantischen Modellobjekts auf den T-M-D-L-Ansichtsbereich.

Wenn Sie die TMDL-Ansicht verwenden und das Objekt aus dem Datenbereich ziehen, skriptt Power BI die gesamten Objektmetadaten in die aktuelle Registerkarte als TMDL oder öffnet eine neue Registerkarte, wenn die aktuelle Registerkarte nicht leer ist, als createOrReplace TMDL-Skript der ausgewählten Objekte, wie in der folgenden Abbildung dargestellt:

Screenshot der automatisch erstellten T-M-D-L-Metadaten.

Alternativ können Sie in der Datenansicht mit der rechten Maustaste auf ein Objekt klicken und Skript TMDL auswählen, um eine neue Registerkarte oder die Zwischenablage zu öffnen, wie in der folgenden Abbildung dargestellt:

Screenshot des Rechtsklicks auf ein Objekt in der Datenansicht, damit Power BI T-M-D-L-Metadatencode erstellt.

Tipp

Die Mehrfachauswahl wird durch Drücken der STRG-TASTE unterstützt, bevor die Objekte in den Code-Editor für die TMDL-Ansicht geschrieben werden.

Code-Editor

Nachdem Sie ein Semantikmodellobjekt geskriptet oder ein TMDL-Skript in den Code-Editor eingefügt haben, können Sie die umfassenden Features der Code-Umgebung nutzen, die im Code-Editor der TMDL-Ansicht enthalten sind. Mit den Code-Erlebnisfunktionen können Sie entweder die Modellmetadaten erkunden oder Änderungen vornehmen, die später auf das semantische Modell angewendet werden können.

Semantische Hervorhebung

Die semantische Hervorhebung ist in den Code-Editor integriert, wodurch die Lesbarkeit verbessert wird, indem Teile des Codes je nach Bedeutung in verschiedenen Farben hervorgehoben werden. Eine solche Farbcodierung erleichtert das Verständnis der Struktur und Funktionalität Ihres TMDL-Codes, wie in der folgenden Abbildung dargestellt.

Screenshot der Farbcodierung und semantischen Hervorhebung für T-M-D-L-Metadatencode.

Sie können auch Abschnitte Ihres TMDL-Skripts erweitern oder reduzieren, wie in der folgenden Abbildung dargestellt:

Screenshot der zusammenklappbaren Abschnitte von Code im Code-Editor.

AutoVervollständigen

Das AutoVervollständigen-Feature ist in den Code-Editor integriert und bietet während des Tippens intelligente Vorschläge. AutoVervollständigen kann Ihren Workflow beschleunigen, die Wahrscheinlichkeit von Fehlern verringern und Ihnen helfen, Ihre Codeoptionen zu verstehen, indem es dynamisch mögliche Werte oder Eigenschaften unter Berücksichtigung der Cursorposition vorschlägt.

Screenshot der Autovervollständigung im Code-Editor.

Sie können die AutoVervollständigen-Funktion auch an einem beliebigen Ort auslösen, indem Sie STRG+LEERTASTE drücken.

QuickInfos

Die Kontext-QuickInfo wird angezeigt, wenn der Mauszeiger über ein Element fährt, und enthält Informationen zu den einzelnen TMDL-Objekten oder -Eigenschaften.

Screenshot eines Kontext-Tooltips, der beim Überfahren mit der Maus im Code-Editor angezeigt wird und Informationen über ein TMDL-Objekt oder eine Eigenschaft darstellt.

Codeaktionen

Wenn sich der Cursor auf einer Zickzacklinie oder auf ausgewähltem Text befindet, zeigt die TMDL-Ansicht eine Glühbirne an, die die verfügbaren Code-Aktionen angibt, z. B. das Generieren von Herkunftstags oder das Korrigieren von Eigenschaftennamen.

Screenshot der TMDL-Ansicht im Code-Editor mit einem Glühbirnensymbol neben einer Wellenlinie, das die verfügbaren Codeaktionen wie das Generieren von Abstammungstags anzeigt.

Screenshot der TMDL-Ansicht im Code-Editor mit einem Glühbirnensymbol neben einer Wellenlinie, die die verfügbaren Code-Aktionen angibt, z. B. das Korrigieren von Rechtschreibfehlern in Eigenschaftsnamen.

Codeformatierung

Formatieren Sie den TMDL-Code, indem Sie UMSCHALT+ALT+F drücken oder auf die Option "Format" im Menüband klicken.

Screenshot des Code-Editors mit TMDL-Code, der mithilfe der Option

Sie können markierten Text auch mithilfe der Option "Auswahl formatieren" im Kontextmenü formatieren.

Screenshot des Code-Editors, in dem der TMDL-Code mithilfe der Tastenkombination UMSCHALT+ALT+F formatiert wird.

Fehlerdiagnose

Die integrierte Fehlerdiagnose des Code-Editors hilft Ihnen, Probleme zu erkennen und zu beheben, indem SIE TMDL-Sprachfehler im Code-Editor mit detaillierten Meldungen hervorheben, die Anleitungen zum Beheben dieser Fehler liefern. Darüber hinaus ist eine Fehlerzusammenfassung im Problembereich verfügbar, sodass eine einfache Navigation zur Fehlerposition im Code-Editor möglich ist, wie in der folgenden Abbildung dargestellt.

Screenshot der Fehlerdiagnose im Code-Editor.

Anwenden von Änderungen auf das Semantikmodell

Wenn Sie bereit sind, können Sie die Schaltfläche Anwenden auswählen, um das TMDL-Skript auf das semantische Modell anzuwenden und Ihre TMDL-Codeänderungen auszuführen.

Screenshot der Anwendung Ihres Skripts mithilfe der Schaltfläche

Bei erfolgreicher Ausführung wird eine Benachrichtigung angezeigt, und Ihre Modelländerungen werden auf das semantische Modell angewendet.

Screenshot des Erfolgsbanners im Code-Editor, der angibt, dass Änderungen erfolgreich angewendet wurden.

Im Falle eines Fehlers wird eine Fehlerbenachrichtigung angezeigt, um anzuzeigen, dass Ihre Modellierungsänderungen nicht auf das semantische Modell angewendet wurden. Sie können weitere Informationen zum Fehler anzeigen, indem Sie in der Benachrichtigung den Link "Details anzeigen " auswählen, der dann den Ausgabebereich erweitert und Fehlerdetails anzeigt.

Screenshot des Fehlerbanners im Code-Editor, der angibt, dass Änderungen nicht erfolgreich waren.

Anmerkung

Die TMDL-Ansicht ändert nur die Metadaten des semantischen Modells, ohne Daten zu aktualisieren oder sich auf den Bericht zu auswirken. Wenn ihre Änderungen eine Datenaktualisierung erfordern, z. B. das Ändern eines PowerQuery-Ausdrucks oder eines berechneten Spaltenausdrucks, müssen Sie die Tabelle oder das Modell manuell aktualisieren, damit die Änderungen wirksam werden. Darüber hinaus kann das Umbenennen eines Felds in der TMDL-Ansicht Visuals innerhalb des Berichts beeinträchtigen, die dieses Feld verwenden.

Vorschau von Änderungen am Semantikmodell

Mit der TMDL-Ansicht können Sie Skriptänderungen in der Vorschau anzeigen, indem Sie eine Vorschau des semantischen Modells vor und nach der Skriptausführung anzeigen, die als TMDL-Code-Diff angezeigt wird. Die Vorschau von Skriptänderungen ist besonders hilfreich beim Kopieren von Skripts aus anderen Quellen, sodass Sie deren Auswirkungen bewerten können, bevor Sie sie mit Ihrem semantischen Modell ausführen.

Wenn Sie die Schaltfläche "Vorschau " auswählen, wird vor und nach dem Ausführen des TMDL-Skripts auf der geöffneten Registerkarte ein TMDL-Diff des Semantikmodells angezeigt.

Screenshot der Vorschauschaltfläche zum Anzeigen einer Vorschau von Skriptänderungen.

Im rechten Bereich wird ein nebeneinander angeordnetes Fenster angezeigt, wie in der folgenden Abbildung dargestellt.

Screenshot des Vorschauansichtsbereichs für ausstehende Skriptänderungen.

Rote und grüne Kästchen markieren die Änderungen, wobei rote Kästchen entfernte oder geänderte Zeilen und grüne neue Zeilen anzeigen.

Screenshot der roten und grünen Hervorhebungen für ausstehende Skriptänderungen.

Anmerkung

Der Vergleich soll nicht direkt mit dem derzeit angezeigten TMDL-Skript erfolgen, sondern vielmehr mit einem umfassenden Vergleich von Semantikmodellen vor und nach der Ausführung des Skripts. Daher können einige Eigenschaften anders angeordnet werden als das, was auf der Registerkarte angezeigt wird, wobei die Standardreihenfolge der TMDL-Eigenschaft/des Objekts eingehalten wird.

Die Vorschau ist schreibgeschützt, aber Sie können Ihr Skript weiterhin bearbeiten. Um die Vorschau nach Änderungen zu aktualisieren, wählen Sie die Schaltfläche " Vorschau aktualisieren " aus, wie im Banner in der folgenden Abbildung dargestellt.

Screenshot der Schaltfläche

Es gibt eine Symbolleiste in der oberen rechten Ecke des Vorschaubildschirms, die die Navigation aller Code-Differenzen ermöglicht, sodass Sie zwischen Inline oder Parallel-Diff umschalten, unveränderbare Bereiche ein- oder ausblenden und die Ansicht der Vorschau schließen können.

Screenshot der Symbolleiste für die Skriptvorschau.

Beim Erstellen einer Vorschau von Änderungen am semantischen Modell gibt es einige Überlegungen zu beachten.

  • Die TMDL-Ansicht setzt die Ansichtskonfigurationen bei jeder Vorschauausführung auf die Grundeinstellungen zurück.
  • Eine Vorschau wird nur mit einer gültigen TMDL-Änderung ausgeführt. Ungültige TMDL-Skripts führen keine Vorschau aus, und im Ausgabebereich wird ein Fehler angezeigt.

TMDL-Skriptregisterkarten

In der TMDL-Ansicht können Sie mehrere Skriptregisterkarten gleichzeitig geöffnet haben, die umbenannt oder entfernt werden können.

Screenshot mehrerer Tabs in der T-M-D-L-Ansicht.

Die Inhalte der Registerkarten zur TMDL-Ansicht werden in der Berichtsdatei gespeichert, wenn Sie den Power BI Desktop-Bericht speichern, damit Sie dort weitermachen können, wo Sie zuletzt waren, wenn Sie die Power BI Desktop-Berichtsdatei das nächste Mal öffnen. Beim Speichern in einem Power BI-Projekt (PBIP) wird jede Skriptregisterkarte als TMDL-Datei im Ordner \TMDLScripts gespeichert, wie in der folgenden Abbildung dargestellt.

Screenshot der Dateistruktur zum Speichern von Tabs in einer Power BI Desktop-Datei.

Tipp

Sie können TMDL-Skripts in Visual Studio Code öffnen und bearbeiten, und sie werden nach dem Neustart von Power BI Desktop ordnungsgemäß neu geladen.

In den Bereichen "Probleme " und "Ausgabe " werden Fehler und Meldungen angezeigt, die für die derzeit ausgewählte und angezeigte Skriptregisterkarte spezifisch sind. Wenn Sie zu einer anderen TMDL-Skriptregisterkarte wechseln, werden beide Bereiche mit Informationen aktualisiert, die für die ausgewählte und aktuell angezeigte Registerkarte spezifisch sind.

Sie können die Schaltfläche " Löschen " auswählen, um die Nachrichten im Ausgabebereich zu leeren.

Screenshot der Schaltfläche

Nachrichten werden nur für jede Power BI Desktop-Sitzung aufbewahrt, sodass beim Neustart von Power BI Desktop alle Ausgabemeldungen für alle Skriptregisterkarten gelöscht werden.

Aufforderung zur Aktualisierung der Kompatibilitätsebene

Die Kompatibilitätsebene eines Power BI-Semantikmodells bestimmt die Features, auf die zugegriffen werden kann. Mit der TMDL-Ansicht können Sie beliebige Analysis Services-Objekte oder -Eigenschaften hinzufügen, auch wenn es auf der aktuellen Kompatibilitätsebene nicht verfügbar ist. Beim Anwenden einer Änderung, die ein Upgrade auf Kompatibilitätsebene erfordert, stellt die TMDL-Ansicht eine Eingabeaufforderung bereit, die angibt, welches Objekt oder welche Objekte das Upgrade erfordern.

Screenshot der TMDL-Ansicht in Power BI mit einer Upgradeaufforderung auf Kompatibilitätsebene. Die Meldung gibt an, dass die aktuelle Kompatibilitätsstufe von 1550 unter der erforderlichen Ebene von 1601 für die FormatStringDefinition-Eigenschaft liegt und fragt, ob die Änderung aktualisiert und erneut angewendet werden soll.

Objektumbenennung mit der TMDL-Ansicht

Um ein Objekt in der TMDL-Ansicht umzubenennen, ist es erforderlich, das übergeordnete Objekt zu skripten. Das Umbenennen einer Spalte erfordert beispielsweise das Skripten der Tabelle, während das Umbenennen einer Tabelle das Skripting des gesamten Semantikmodells erfordert. Weitere Informationen zur Tabellenobjektmodellhierarchie im folgenden Dokument: Tabellarische Objektmodellhierarchie.

Mit der TMDL-Ansicht können Massenumbenennungen mithilfe einfacher Such- und Ersetzungsmuster effizient durchgeführt werden. Sie können beispielsweise alle Tabellenspalten in Kleinbuchstaben umbenennen, indem Sie die folgenden Schritte ausführen.

Öffnen Sie die TMDL-Ansicht, skripten Sie die Tabelle, die Sie ändern möchten.

Drücken Sie STRG+F, um das Dialogfeld "Suchen und Ersetzen" zu öffnen, stellen Sie sicher, dass die Option "Regulärer Ausdruck" aktiviert ist.

Screenshot der TMDL-Ansicht in Power BI mit dem verwendeten Feature

Geben Sie die folgenden Muster in die Felder "Suchen und Ersetzen" ein, und wählen Sie "Alle ersetzen" aus.

Maßnahme Muster/Ersatz
Suchen (^\s+column\s+)(.+)
Ersetzen $1\L$2

Screenshot eines Power BI-Datenmodellkonfigurationsbildschirms mit einer Produkttabellendefinition mit zwei Spalten: Produkt (Zeichenfolge) und ProductKey (int64) sowie deren Metadateneigenschaften.

Führen Sie Ihr TMDL-Skript aus, um alle Tabellenspalten sofort in Kleinbuchstaben umzubenennen:

Screenshot einer Power BI-Produkttabelle mit 14 Spalten wie Marke, Kategorie, Farbe, Hersteller, Produkt, ProductKey, Unterkategorie, Einzelkosten, Einzelpreis und Gewichtsattributen.

Beachten Sie, dass sich der Spaltenname von der sourceColumn-Eigenschaft unterscheidet.

Screenshot einer Power BI-Datenmodellkonfiguration mit der ProductKey-Spaltendefinition mit int64-Datentyp, wobei der sourceColumn in den Quelldaten productKey zugeordnet ist.

Die Synchronisierung zwischen der Semantikmodelltabelle und der Power Query-Abfrage basiert auf "sourceColumn", wobei Namen unabhängig bleiben. Wenn Sie den Power Query-Editor öffnen, werden die Spaltennamen angezeigt, die mit dem SourceColumn übereinstimmen, und nicht den Spaltennamen des Modells. Darüber hinaus wird ein Umbenennungsschritt in der Abfrage durch das Umbenennen einer Spalte auf der Benutzeroberfläche nur dann automatisch hinzugefügt, wenn sourceColumn und Spaltenname identisch sind.

Screenshot des Power BI Query-Editors, der Produktdaten mit Spalten für ProductKey, Product Code, Produkt und Hersteller anzeigt, mit 16 Abfragen, die im Navigationsbereich sichtbar sind.

TMDL-Ansicht und Power BI-Projekt

Wenn Sie Ihre Arbeit als Power BI-Projekt (PBIP) speichern, erhalten Sie Zugriff auf Die Metadaten der semantischen Modelldefinition als TMDL-Dateien, die eine nützliche Quellcodeverwaltung und co-Entwicklungserfahrung bieten und gleichzeitig Änderungen am semantischen Modell außerhalb von Power BI Desktop vornehmen können. Wenn Sie jedoch die TMDL-Dateien innerhalb der PBIP ändern, müssen Sie Power BI Desktop neu starten, um diese Änderungen neu zu laden. Im Gegensatz dazu folgt die TMDL-Ansicht einem skriptbasierten mentalen Modell, sodass Sie Änderungen effizient direkt auf das semantische Modell anwenden können, das Sie in Power BI Desktop mit TMDL bearbeiten, unabhängig davon, ob das Dateiformat PBIX oder PBIP ist.

Sie können beide Erfahrungen nahtlos integrieren. Beispielsweise können Sie die TMDL-Definition in PBIP für schnelle Änderungen aktualisieren, ohne Power BI Desktop zu starten, und die TMDL-Ansicht verwenden, wenn Power BI Desktop bereits geöffnet ist, um eine Reihe von Änderungen am semantischen Modell mithilfe von TMDL effizient zu implementieren. Beide Ansätze bieten eine umfassende und konsistente Erfahrung bei der TMDL-Codierung.

Häufige Anwendungsfälle für die TMDL-Ansicht

Szenario: Ich muss eine Semantikmodelltabelle mit der vollständigen Definition wiederverwenden oder freigeben, einschließlich Spalten, Power Query-Ausdruck und Sortierung nach Konfiguration und anderen in einem anderen semantischen Modell.

Lösung: Öffnen Sie das semantische Modell mit der Tabelle, skripten Sie es mithilfe der TMDL-Ansicht. Kopieren Sie das Skript in das andere Power BI Desktop-Fenster, öffnen Sie die Registerkarte "TMDL-Ansicht", und wenden Sie das Skript an.



Szenario: Ich habe alle meine Tabellen mit den Präfixen "dim_" oder "fact_" benannt. Ich möchte diese Präfixe entfernen, ohne jede der mehr als 100 Tabellen manuell zu aktualisieren.

Lösung: Öffnen Sie die TMDL-Ansicht, skripten Sie das Semantikmodell, suchen Sie nach dem Präfix (reguläre Ausdrücke werden unterstützt), und ersetzen Sie sie durch einen leeren Text.



Szenario: Ich muss eine Perspektive in meinem Semantikmodell erstellen, um das personalisierte visuelle Feature zu verwenden. Ich kann sie jedoch nicht mithilfe der grafischen Benutzeroberfläche von Power BI Desktop erstellen oder bearbeiten.

Lösung: Öffnen Sie die TMDL-Ansicht, erstellen Sie eine neue leere Registerkarte (oder verwenden Sie das Skript aus einer vorhandenen Perspektive), und erstellen oder bearbeiten Sie dann die Perspektive mithilfe von TMDL. Diese Methode gilt auch für andere Semantikmodellmetadaten, die keine grafische Benutzeroberfläche aufweisen, z. B. Übersetzungen, Detailzeilenausdrücke und andere.

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


Szenario: Ich muss den Power Query-Ausdruck meiner Tabelle ändern, ohne eine Aktualisierung auszulösen.

Lösung: Skriptieren Sie die Tabelle, ändern Sie den Power Query-Ausdruck, und wenden Sie die Änderungen an. Die TMDL-Ansicht erfordert keine Aktualisierung Ihrer Daten.



Szenario: Ich muss den Speichermodus meiner Tabelle von DirectQuery auf Import und in die andere Richtung umstellen.

Lösung: Führen Sie die Tabelle aus, aktualisieren Sie den Partitionsmodus, und wenden Sie Änderungen an.



Szenario: Ich muss meine Semantikmodelldefinition sichern, bevor ich erhebliche Änderungen vornehme, und bei Bedarf einfach auf eine vorherige Definition zurückgreifen können.

Lösung: Skripten Sie das semantische Modell oder bestimmte Teile, die Sie sichern möchten, nehmen Sie Ihre Änderungen in anderen Ansichten vor, und kehren Sie ggf. zur TMDL-Ansicht zurück, um die vorherigen Metadaten wiederherzustellen, indem Sie das gespeicherte Skript ausführen.



Überlegungen und Einschränkungen

Die TMDL-Ansicht befindet sich derzeit in der Vorschauversion, beachten Sie daher die folgenden Einschränkungen:

  • Sie können die TMDL-Ansicht verwenden, um jedes Objekt oder jede Eigenschaft innerhalb eines semantischen Modells zu bearbeiten. Unvollständige oder falsche Änderungen können jedoch zu unerwartetem Verhalten führen. Weitere Anleitungen zu diesen Vorgängen finden Sie im Artikel zur Modellerstellung.
  • Die Befehlspalette zeigt einige Befehle an, die derzeit nicht unterstützt werden.
  • Das Einrichten der anfänglichen Git-Integration aus dem Arbeitsbereich enthält keine TMDL-Ansichtsskripts, die im veröffentlichten Semantikmodell gespeichert wurden. Weitere Informationen finden Sie im Fabric Git-Integrationsartikel .
  • Sie können keine Modell-Explorer-Gruppen wie Kennzahlen, Spalten usw. skripten.

In den folgenden Artikeln werden weitere Informationen zu TMDL und deren Verwendung beschrieben.