Arbeiten mit der TMDL-Ansicht in Power BI Desktop (Vorschau)
Mit der TMDL-Ansicht können Sie semantische Modellobjekte skripten, modifizieren und Änderungen anwenden, indem Sie einen modernen Code-Editor mit der Tabular Model Definition Language (TMDL) in Power BI Desktop verwenden. Dies verbessert die Entwicklungseffizienz und bietet vollständige Sichtbarkeit und Kontrolle über semantische Modellmetadaten.
Die TMDL-Ansicht bietet eine alternative Möglichkeit zur semantischen Modellierung mithilfe von Code anstelle einer grafischen Benutzeroberfläche wie die Modellansicht.
Die TMDL-Ansicht bietet die folgenden Vorteile:
- Verbesserte Entwicklungseffizienz mit einem umfassenden Code-Editor, der Such- und Ersetzungsfunktionen, Tastaturkürzel, mehrzeilige Bearbeitungen und vieles mehr umfasst.
- Erhöhen Sie die Wiederverwendbarkeit durch einfache Skripterstellung, einfaches Teilen und Wiederverwenden von TMDL-Skripts für entwickelnde Personen semantischer Modelle. Verwenden Sie beispielsweise eine zentrale SharePoint-Website, um wiederverwendbare semantische Modellobjekte wie Kalendertabellen oder Zeitintelligenzberechnungsgruppen einfach freizugeben.
- Verschaffen Sie sich mehr Kontrolle und Transparenz, indem Sie alle semantischen Modellobjekte und Eigenschaften anzeigen und Änderungen an Elementen ermöglichen, die nicht in der Power BI Desktop-Benutzeroberfläche verfügbar sind, wie z. B. IsAvailableInMDX oder DetailRowsDefinition.
Aktivieren des Vorschaufeatures
Um die TMDL-Ansicht zu verwenden, müssen Sie die Previewfunktion aktivieren. Wählen Sie in Power BI Desktop Datei > Optionen und Einstellungen > Optionen > Previewfeatures aus, und aktivieren Sie anschließend das Kontrollkästchen neben TMDL-Ansicht.
Skript für TMDL
Wählen Sie in Power BI Desktop das Symbol TMDL-Ansicht auf der linken Seite des Fensters aus, wie in der folgenden Abbildung dargestellt.
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:
Wenn Sie die TMDL-Ansicht verwenden und das Objekt aus dem Datenausschnitt ziehen, skriptet Power BI sämtliche Objektmetadaten in die aktuelle Registerkarte als TMDL. Ist die aktuelle Registerkarte nicht leer, wird eine neue Registerkarte geöffnet. Dies erfolgt als createOrReplace-TMDL-Skript der ausgewählten Objekte, wie in der folgenden Abbildung dargestellt.
Alternativ können Sie in der Datenansicht mit der rechten Maustaste auf ein Objekt klicken und TMDL skripten für eine neue Registerkarte oder die Zwischenablage auswählen, wie in der folgenden Abbildung dargestellt:
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.
Sie können auch Abschnitte Ihres TMDL-Skripts erweitern oder reduzieren, wie in der folgenden Abbildung dargestellt:
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.
Sie können das AutoVervollständigen-Feature auch an einer beliebigen Stelle auslösen, indem Sie STRG+LEERTASTEdrücken.
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 Bereich Probleme verfügbar, sodass eine einfache Navigation zur Fehlerposition im Code-Editor möglich ist, wie in der folgenden Abbildung dargestellt.
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.
Bei erfolgreicher Ausführung wird eine Benachrichtigung angezeigt, und Ihre Modelländerungen werden auf das semantische Modell angewendet.
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 den Link Details anzeigen in der Benachrichtigung auswählen, wodurch daraufhin der Ausgabebereich erweitert und die Fehlerdetails angezeigt werden.
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.
TMDL-Skriptregisterkarten
In der TMDL-Ansicht können Sie mehrere Skriptregisterkarten gleichzeitig geöffnet haben, die umbenannt oder entfernt werden können.
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.
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.
Die Bereiche Probleme und Ausgabe zeigen Fehler und Meldungen an, die für die aktuell ausgewählte und angezeigte Skriptregisterkarte spezifisch sind. Wenn Sie zu einem anderen TMDL-Skriptregisterkarte wechseln, werden beide Bereiche mit Informationen aktualisiert, die speziell für die ausgewählte und derzeit angezeigte Registerkarte sind.
Sie können die Schaltfläche Leeren auswählen, um die Nachrichten im Bereich Ausgabe zu leeren.
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.
TMDL-Ansicht und Power BI-Projekt
Wenn Sie Ihre Arbeit als Power BI-Projekt (PBIP) speichern, erhalten Sie Zugriff auf Ihre Metadaten der semantischen Modelldefinition als TMDL-Dateien, die eine nützliche Quellcodeverwaltung und Möglichkeiten zur gemeinsamen Entwicklung bieten und es Ihnen auch ermöglichen, Änderungen am semantischen Modell außerhalb von Power BI Desktop vorzunehmen. 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 ihrer vollständigen Definition wiederverwenden oder freigeben, einschließlich Spalten, Power Query-Ausdruck, Sortierung nach Konfigurationseinstellungen sowie andere Bestandteile in einem weiteren 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 es durch einen leeren Text.
Szenario: Ich muss in meinem semantischen Modell eine Perspektive erstellen, um das Feature zu personalisierten Visuals 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: Erstellen Sie das Skript der Tabelle, ändern Sie den Power Query-Ausdruck, und wenden Sie die Änderungen an. Die TMDL-Ansicht erfordert keine Aktualisierung Ihrer Daten.
Szenario: Ich möchte den Speichermodus meiner Tabelle von DirectQuery auf Import und umgekehrt wechseln.
Lösung: Die Tabelle skripten, den Partitionsmodus aktualisieren und die Änderungen anwenden.
Szenario: Ich muss meine Semantikmodelldefinition sichern, bevor bei Bedarf erhebliche Änderungen vorgenommen und ein Rollback zu einer vorherigen Definition durchgeführt werden kann.
Lösung: Erstellen Sie ein Skript für das semantische Modell oder bestimmte Teile, die Sie sichern möchten. Nehmen Sie Ihre Änderungen in anderen Ansichten vor, und kehren Sie bei Bedarf 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:
- Nicht alle Modellierungsänderungen werden unterstützt. Während der Vorschau durchläuft jede Anwenden-Änderung dieselben Überprüfungen, die beim Öffnen eines Power BI-Projekts (PBIP) auftreten. Eine Liste der unterstützten Änderungen finden Sie im Artikel „Modellerstellung“ (Spalte „Dateiänderung“). Das Ausführen nicht unterstützter Änderungen kann zu unerwarteten Verhaltensweisen führen.
- 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 Artikel Fabric Git Integration.
- Sie können keine Modell-Explorer-Gruppen wie Kennzahlen, Spalten usw. skripten.
- Die TMDL-Ansicht ist beim Bearbeiten von Direct Lake-Semantikmodelle nicht verfügbar.
Verwandte Inhalte
In den folgenden Artikeln werden weitere Informationen zu TMDL und deren Verwendung beschrieben.