Sdílet prostřednictvím


Práce se zobrazením TMDL v Power BI Desktopu (Preview)

Zobrazení TMDL umožňuje skriptovat, upravovat a aplikovat změny na sémantické objekty modelu pomocí moderního editoru kódu pomocí jazyka TMDL (Tabular Model Definition Language) v Power BI Desktopu, zlepšení efektivity vývoje a zajištění úplné viditelnosti a kontroly nad metadaty sémantických modelů.

Zobrazení TMDL nabízí alternativní prostředí pro sémantické modelování pomocí kódu místo grafického uživatelského rozhraní, jako je například zobrazení modelu.

Zobrazení TMDL nabízí následující výhody:

  • Vylepšená efektivita vývoje pomocí bohatého editoru kódu, který zahrnuje vyhledávání a nahrazení, klávesové zkratky, víceřádkové úpravy a další.
  • Zvyšte opětovnou použitelnost díky snadnému skriptování, sdílení a opakovanému použití skriptů TMDL mezi sémantickými vývojáři modelů. Pomocí centralizovaného sharepointového webu můžete například snadno sdílet opakovaně použitelné sémantické objekty modelu, jako jsou tabulky kalendářů nebo skupiny výpočtů časového měřítka.
  • Získejte větší kontrolu a průhlednost, zobrazte všechny sémantické objekty a vlastnosti modelu a povolte změny položek, které nejsou dostupné v uživatelském rozhraní Power BI Desktopu, jako je IsAvailableInMDX nebo DetailRowsDefinition.

Povolení funkce Preview

Pokud chcete použít zobrazení TMDL, musíte povolit funkci Preview. V Power BI Desktopu vyberte Soubor > Možnosti a nastavení > Možnosti > Funkce pro náhled a zaškrtněte políčko vedle Zobrazení TMDL.

Skript do TMDL

V Power BI Desktopu vyberte ikonu zobrazení TMDL umístěnou na levé straně okna, jak je znázorněno na následujícím obrázku.

Snímek obrazovky zobrazení jazyka T-M-D-L definice tabulkového modelu

Když zobrazení TMDL otevře editor kódu, je zpočátku prázdný. Libovolný sémantický objekt modelu, jako je tabulka, míra nebo sloupec, můžete skriptovat tak, že vyberete objekty z podokna Data a přetáhnete je do editoru kódu:

Snímek obrazovky s přetažením sémantického objektu modelu na plátno zobrazení T-M-D-L

Při použití zobrazení TMDL a přetažení objektu z podokna Data power BI skriptuje celá metadata objektu na aktuální kartu jako TMDL nebo otevře novou kartu, pokud aktuální karta není prázdná, jako skript createOrReplace TMDL vybraných objektů, jak je znázorněno na následujícím obrázku:

Snímek obrazovky s automaticky vytvořenými metadaty T-M-D-L

Případně můžete kliknout pravým tlačítkem myši na objekt v zobrazení Data a vybrat Skript TMDL na novou kartu nebo do schránky, jak je znázorněno na následujícím obrázku:

Snímek obrazovky s kliknutím pravým tlačítkem myši na objekt v zobrazení dat, aby Power BI vytvořil kód metadat T-M-D-L

Spropitné

Vícenásobný výběr je podporován stisknutím klávesy CTRL před skriptováním objektů do editoru kódu zobrazení TMDL.

Editor kódu

Jakmile skriptujete objekt sémantického modelu nebo vložíte skript TMDL do editoru kódu, můžete použít komplexní funkce prostředí kódu nabízené editorem kódu TMDL view code. Funkce prostředí kódu umožňují prozkoumat metadata modelu nebo provádět změny, které je možné později použít pro sémantický model.

Sémantické zvýraznění

Sémantické zvýraznění je součástí editoru kódu, což zlepšuje čitelnost použitím různých barev na části kódu na základě významu. Takové barevné kódování usnadňuje pochopení struktury a funkčnosti kódu TMDL, jak je znázorněno na následujícím obrázku.

Snímek obrazovky s barevným kódováním a sémantickým zvýrazněním kódu metadat T-M-D-L

Oddíly skriptu TMDL můžete také rozbalit nebo sbalit, jak ukazuje následující obrázek:

Snímek obrazovky se sbalením sekcí kódu v editoru kódu

Automatické dokončování

Automatické dokončování je integrované v editoru kódu a nabízí inteligentní návrhy při psaní. Automatické dokončování může urychlit pracovní postup, snížit pravděpodobnost chyb a pochopit možnosti kódu dynamickým návrhem možných hodnot nebo vlastností tak, že vezme v úvahu pozici kurzoru.

Snímek obrazovky s automatickým dokončováním v editoru kódu

Funkci automatického dokončování můžete aktivovat také v libovolném umístění stisknutím kombinace kláves Ctrl+Mezerník.

Nápověda

Kontextová nápověda se zobrazí při najetí myší a poskytuje informace o jednotlivých objektech nebo vlastnostech TMDL.

Snímek obrazovky s kontextovým popisem zobrazeným při najetí myší v editoru kódu zobrazující informace o objektu nebo vlastnosti TMDL

Akce v kódu

Pokud je kurzor na vlnovce nebo vybraném textu, zobrazí zobrazení TMDL ikonu žárovky označující dostupné akce kódu, jako je generování značek rodokmenu nebo oprava chybně zadaných názvů vlastností.

Snímek obrazovky zobrazení TMDL v editoru kódu s ikonou žárovky vedle vlnovky, která označuje dostupné akce pro kód, jako je generování štítků linie

Snímek obrazovky zobrazení TMDL v editoru kódu se zobrazenou ikonou žárovky vedle vlnovky, která označuje dostupné akce kódu, například opravu překlepů v názvech vlastností.

Formátování kódu

Kód TMDL naformátujte stisknutím kombinace kláves Shift + Alt + F nebo kliknutím na možnost Formát na pásu karet.

Snímek obrazovky editoru kódu, kde je kód TMDL naformátován pomocí možnosti Formát na pásu karet.

Vybraný text můžete také naformátovat pomocí možnosti „Formát výběru“ v místní nabídce.

Snímek obrazovky editoru kódu s kódem TMDL naformátovaným klávesovou zkratkou Shift + Alt + F

Diagnostika chyb

Integrovaná diagnostika chyb editoru kódu vám pomůže identifikovat a opravit problémy zvýrazněním chyb jazyka TMDL v editoru kódu s podrobnými zprávami, které poskytují pokyny k jejich řešení. Kromě toho je v podokně Problémy k dispozici souhrn chyb, který umožňuje snadnou navigaci na umístění chyby v editoru kódu, jak je znázorněno na následujícím obrázku.

Snímek obrazovky s diagnostikou chyb v editoru kódu

Použití změn v sémantickém modelu

Až budete připravení, můžete výběrem tlačítka Použít spustit skript TMDL proti sémantickému modelu a použít změny kódu TMDL.

Snímek obrazovky s použitím skriptu pomocí tlačítka Použít v editoru kódu

Po úspěšném dokončení se zobrazí oznámení a vaše změny modelování se použijí na sémantický model.

Snímek obrazovky s bannerem úspěchu v editoru kódu označujícím úspěšné použití změn

V případě selhání se zobrazí oznámení o chybě, které ukazuje, že změny modelování nebyly použity u sémantického modelu. Další informace o chybě můžete zobrazit tak, že v oznámení vyberete odkaz Zobrazit podrobnosti , který pak rozbalí podokno Výstup a zobrazí podrobnosti o chybě.

Snímek obrazovky s bannerem selhání v editoru kódu, který indikuje, že změny nebyly úspěšné

Poznámka

Zobrazení TMDL upravuje pouze metadata sémantického modelu, aniž by aktualizovalo data nebo ovlivnilo sestavu. Pokud změny vyžadují aktualizaci dat, například změnu výrazu PowerQuery nebo výrazu počítaného sloupce, musíte tabulku nebo model aktualizovat ručně, aby se změny projevily. Přejmenování pole v zobrazení TMDL může navíc narušit vizuály v sestavě, která toto pole používá.

Náhled změn v sémantickém modelu

Zobrazení TMDL umožňuje zobrazit náhled změn skriptu zobrazením náhledu sémantického modelu před a po spuštění skriptu, který se zobrazuje jako rozdíl kódu TMDL. Zobrazení náhledu změn skriptu je zvlášť užitečné při kopírování skriptů z jiných zdrojů a umožňuje posoudit jejich dopad před spuštěním v sémantickém modelu.

Výběrem tlačítka Náhled se na otevřené záložce zobrazí rozdíl sémantického modelu TMDL před a po spuštění skriptu TMDL.

Snímek obrazovky s tlačítkem Náhled pro zobrazení náhledu změn skriptu

V pravém podokně se zobrazí souběžné okno, jak je znázorněno na následujícím obrázku.

Snímek obrazovky s podoknem zobrazení náhledu pro čekající změny skriptu

Červená a zelená pole zvýrazňují změny s červenými poli označenými odebranými nebo změněnými čárami a zelenou označující nové čáry.

Snímek obrazovky s červeným a zeleným zvýrazněním pro čekající změny skriptu.

Poznámka

Porovnání není přímo proti aktuálně zobrazenému skriptu TMDL, ale spíše komplexní sémantické porovnání modelu před a po spuštění skriptu. Některé vlastnosti se tedy můžou uspořádat jinak než na kartě, přičemž budou dodržovat výchozí řazení vlastností nebo objektů v TMDL.

Náhled je jen pro čtení, ale můžete nadále upravovat svůj skript. Pokud chcete náhled po změnách aktualizovat, vyberte tlačítko Aktualizovat náhled , jak je znázorněno na následujícím obrázku.

Snímek obrazovky s tlačítkem náhledu aktualizace

V pravém horním rohu obrazovky náhledu je panel nástrojů, který umožňuje navigaci všech rozdílů kódu, takže můžete přepínat mezi vloženým nebo souběžným rozdílem, zobrazením nebo skrytím nezměněných oblastí a zavřením zobrazení náhledu.

Snímek obrazovky s panelem nástrojů pro náhled skriptu

Při zobrazení náhledu změn sémantického modelu je potřeba vzít v úvahu několik aspektů:

  • Zobrazení TMDL resetuje konfigurace zobrazení na výchozí nastavení při každém spuštění náhledu.
  • Náhled se spustí jenom s platnou změnou TMDL. Neplatné skripty TMDL nespustí náhled a v podokně Výstup se zobrazí chyba.

Karty skriptů TMDL

V zobrazení TMDL můžete mít najednou několik karet skriptů, které se dají přejmenovat nebo smazat.

Snímek obrazovky s několika kartami v zobrazení T-M-D-L

Obsah karet zobrazení TMDL je uložen ve souboru sestavy, když uložíte sestavu Power BI Desktop, takže můžete pokračovat tam, kde jste přestali, až příště otevřete soubor sestavy Power BI Desktop. Při ukládání do projektu Power BI (PBIP) se každá karta skriptu uloží jako soubor .tmdl ve složce \TMDLScripts, jak je znázorněno na obrázku níže.

Snímek obrazovky se strukturou souboru pro ukládání kart v souboru Power BI Desktopu.

Spropitné

Skripty TMDL můžete otevřít a upravit v editoru Visual Studio Code a po restartování Power BI Desktopu se správně znovu načtou.

Podokna Problémy a výstup zobrazují chyby a zprávy specifické pro kartu skriptu, která je aktuálně vybraná a zobrazená. Přechod na jinou kartu skriptu TMDL aktualizuje obě tato podokna s informacemi specifickými pro vybranou a aktuálně zobrazenou kartu.

Pokud chcete vyprázdnit zprávy podokna Výstup, můžete vybrat tlačítko Vymazat.

Snímek obrazovky s tlačítkem Vymazat použitým k vyprázdnění zpráv v podokně výstupu

Zprávy se uchovávají jenom pro každou relaci Power BI Desktopu, takže restartováním Power BI Desktopu se vymažou všechny výstupní zprávy pro všechny karty skriptů.

Výzva k upgradu úrovně kompatibility

Úroveň kompatibility sémantického modelu Power BI určuje funkce, které jsou přístupné. Zobrazení TMDL umožňuje přidat jakýkoli objekt nebo vlastnost služby Analysis Services, i když není k dispozici na aktuální úrovni kompatibility. Při použití změny, která vyžaduje upgrade na úrovni kompatibility, zobrazení TMDL zobrazí výzvu označující, který objekt nebo objekty vyžadují upgrade.

Snímek obrazovky zobrazení TMDL v Power BI s výzvou k upgradu na úrovni kompatibility. Zpráva označuje, že aktuální úroveň kompatibility 1550 je nižší než požadovaná úroveň 1601 pro vlastnosti FormatStringDefinition, a ptá se, jestli provést upgrade a znovu použít změnu.

Přejmenování objektů pomocí zobrazení TMDL

Chcete-li přejmenovat objekt v zobrazení TMDL, je nutné skriptovat jeho nadřazený objekt. Přejmenování sloupce například vyžaduje skriptování tabulky a přejmenování tabulky vyžaduje skriptování celého sémantického modelu. Další informace o hierarchii tabulkového objektového modelu najdete v následujícím dokumentu: Hierarchie tabulkového objektového modelu.

V zobrazení TMDL je možné hromadné přejmenování efektivně provádět pomocí jednoduchých vzorů hledání a nahrazení. Pomocí následujícího postupu můžete například přejmenovat všechny sloupce tabulky na malá písmena.

Otevřete zobrazení TMDL a vytvořte skript tabulky, kterou chcete upravit.

Stisknutím kombinace kláves CTRL+F otevřete dialogové okno pro hledání a nahrazování, ujistěte se, že máte povolenou možnost regulárního výrazu.

Snímek obrazovky zobrazení TMDL v Power BI s funkcí

Do polí najít a nahradit zadejte následující vzory a vyberte Nahradit vše.

Činnost Vzor/náhrada
Najít (^\s+column\s+)(.+)
Nahradit $1\L$2

Snímek obrazovky konfigurace datového modelu Power BI zobrazující definici tabulky Product se dvěma sloupci: product (string) a productkey (int64) spolu s vlastnostmi metadat

Spuštěním skriptu TMDL přejmenujte všechny sloupce tabulky na malá písmena okamžitě:

Snímek obrazovky s tabulkou produktů Power BI zobrazující 14 sloupců včetně značky, kategorie, barvy, výrobce, produktu, productkey, podkategorie, jednotkových nákladů, jednotkových cen a atributů hmotnosti

Všimněte si, že název sloupce se bude lišit od vlastnosti sourceColumn.

Snímek obrazovky s konfigurací datového modelu Power BI zobrazující definici sloupce productKey s datovým typem int64, kde je sourceColumn mapován na ProductKey ve zdrojových datech

Synchronizace mezi tabulkou sémantických modelů a dotazem Power Query spoléhá na zdrojColumn, přičemž názvy jsou nezávislé. Když otevřete editor Power Query, zobrazí se názvy sloupců, které odpovídají zdrojovému sloupci, a ne název sloupce modelu. Přejmenování sloupce v uživatelském rozhraní navíc nepřidá do dotazu automaticky krok přejmenování, dokud nebude název sloupce sourceColumn a název sloupce identický.

Snímek obrazovky Editoru dotazů Power BI zobrazující data produktů se sloupci ProductKey, Product Code, Product Code, Product a Manufacturer a 16 dotazy viditelnými v navigačním podokně

Zobrazení TMDL a projekt Power BI

Když uložíte práci jako projekt Power BI (PBIP), získáte přístup k metadatům definice sémantického modelu jako souborů TMDL, což poskytuje užitečné prostředí pro správu zdrojového kódu a společné vývojové prostředí a zároveň umožňuje provádět změny sémantického modelu mimo Power BI Desktop. Pokud ale upravíte soubory TMDL v PBIP, musíte restartovat Power BI Desktop, aby se tyto změny načetly. Naproti tomu zobrazení TMDL se řídí skriptovacím mentálním modelem, který umožňuje efektivně aplikovat změny přímo na sémantický model upravovaný v Power BI Desktopu pomocí TMDL bez ohledu na to, jestli je formát souboru PBIX nebo PBIP.

Obě prostředí můžete bezproblémově integrovat. Můžete například aktualizovat definici TMDL v PBIP pro rychlé změny bez spuštění Power BI Desktopu a využít zobrazení TMDL, když je Power BI Desktop už otevřený k efektivní implementaci řady změn sémantického modelu pomocí TMDL. Oba přístupy nabízejí bohaté a konzistentní prostředí pro kódování TMDL.

Běžné případy použití zobrazení TMDL

Scénář: Potřebuji opakovaně použít nebo sdílet tabulku sémantického modelu s její úplnou definicí, včetně sloupců, výrazu Power Query a řazení podle konfigurace a dalších v jiném sémantickém modelu.

Řešení: Otevřete sémantický model s tabulkou a skriptujte ho pomocí zobrazení TMDL. Zkopírujte skript do druhého okna Power BI Desktopu, otevřete kartu zobrazení TMDL a použijte skript.



Scénář: Pojmenuji všechny tabulky s předponami "dim_" nebo "fact_". Chci odebrat tyto předpony bez ruční aktualizace všech více než 100 tabulek.

Řešení: Otevřete zobrazení TMDL, skriptujte sémantický model, vyhledejte předponu (jsou podporovány regulární výrazy) a nahraďte ho prázdným textem.



Scénář: Potřebuji vytvořit perspektivu v sémantickém modelu, aby bylo možné používat funkci přizpůsobených vizuálů. Nemůžu ho ale vytvářet ani upravovat pomocí grafického rozhraní Power BI Desktopu.

Řešení: Otevřete zobrazení TMDL, vytvořte novou prázdnou kartu (nebo použijte skript z existující perspektivy) a pak vytvořte nebo upravte perspektivu pomocí TMDL. Tato metoda platí také pro další sémantická metadata modelu, která nemají grafické rozhraní, jako jsou překlady, výrazy řádků podrobností a další.

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


Scénář: Potřebuji upravit výraz Power Query v tabulce bez aktivace aktualizace.

Řešení: Vytvořte skript tabulky, upravte výraz Power Query a použijte změny. Zobrazení TMDL nevyžaduje aktualizaci dat.



Scénář: Potřebuji přepnout režim úložiště tabulky z DirectQuery na Import a naopak

Řešení: Vytvořte skript tabulky, aktualizujte režim oddílu a použijte změny.



Scénář: Před provedením významných změn je potřeba zálohovat definici sémantického modelu a v případě potřeby se snadno vrátit k předchozí definici.

Řešení: Vytvořte skript sémantického modelu nebo konkrétní části, které chcete zálohovat, proveďte změny v jiných zobrazeních a v případě potřeby se vraťte do zobrazení TMDL a obnovte předchozí metadata spuštěním uloženého skriptu.



Důležité informace a omezení

Zobrazení TMDL je aktuálně ve verzi Preview, proto mějte na paměti následující omezení:

  • Pomocí zobrazení TMDL můžete upravit libovolný objekt nebo vlastnost v sémantickém modelu. Neúplné nebo nesprávné úpravy však můžou vést k neočekávanému chování. Další pokyny k těmto operacím najdete v článku o vytváření modelů.
  • Paleta příkazů zobrazuje některé příkazy, které nejsou aktuálně podporované.
  • Nastavení počáteční integrace z Gitu z pracovního prostoru nebude zahrnovat skripty z TMDL View uložené v publikovaném sémantickém modelu. Další informace najdete v článku o integraci Fabricu do Gitu .
  • Nemůžete skriptovat skupiny průzkumníka modelů, jako jsou míry, sloupce atd.

Následující články popisují více o TMDL a jeho použití.