6. března 2025

TMDL jazyk a zobrazení

TMDL znamená Tabular Model Definition Language, je popisný jazyk definující objekty datového modelu pro všechny tabulární modely SSAS od compatibility levelu 1200 výše. Samo o sobě tedy nejde o žádnou novinku. Nicméně, jak je známo, Power BI je postavené na tabulárním modelu. A co je nové? Možnost zobrazit a editovat TMDL v Power BI Desktopu.

V době psaní článku je tato funkce v preview a je potřeba ji nejprve povolit v menu File - Options and Settings - Options - Preview features - TMDL View.

Po následném přepnutí do zobrazení (1) a přetažení celého sémantického modelu (2) můžeme upravit definici v textovém editoru bez prodlev v grafickém rozhraní a nad rámec toho, co UI umožňuje.

Dají se skriptovat a nahrazovat i dílčí objekty. Pro účely dnešního článku jsem vyskriptoval model jako celek.

K čemu může být TMDL zobrazení dobré? Pár příkladů z posledních týdnů.

Problém

Report u zákazníka. Padá mi automatická aktualizace. V chybové hlášce vidím, že účet nemá práva do databáze XYZ. Report obsahuje komplexní model s 50 dotazy – nechci hledat po jednom, kde se na databázi odkazuji.

Řešení

TMDL view, vyskriptovat definici sémantického modelu, CTRL+F - XYZ

Problém

Po nasazení zlobí RLS v modelu u zákazníka. V chybové hlášce je reference na pravděpodobně použitou funkci CROSSFILTER nebo USERELATIONSHIP. Kde to mám mezi těmi 200 measures hledat?

Řešení

TMDL view, CTRL+F CROSSFILTER/USERELATIONSHIP

Problém

Chceme globálně změnit formáty. Všechny procentuální metriky mají nově zobrazovat 1 desetinné místo místo 2.

Řešení

CTRL+F - % podívat se, jak je to napsané, a následně například CTRL+H pro nahrazení 0.00% za 0.0%

Myslím, že už máte určitou představu, kam tím mířím. Hledáním a nahrazováním ale použití TMDL nekončí. Další scénář může být přenos kódu mezi soubory.

Problém

Máte v jednom souboru tabulku s kalendářem vygenerovanou přes Power Query a potřebujete ji přenést do druhého souboru?

Řešení

Vyskriptovat ve zdrojovém souboru v TMDL, CTRL+C, CTRL+V v TMDL view cílového souboru a spustit.

A další

TMDL umožňuje spravovat i možnosti nedostupné v UI, například vlastnost isAvailableInMDX, která může pomoci s optimalizací úložiště. Pokud nevíte, co dělá, zatím ji prosím nezkoušejte. Pověnuji se jí někdy samostatně.


Na LinkedInu jsem viděl inspirující scénář změny režimu připojení z Importu na Direct Query u tabulky. 

Závěr

Dnešní článek vám měl představit jazyk TMDL a vysvětlit, proč by vás měl zajímat. Výše zmíněné scénáře použití jsou jen začátek. Tak se do něj ponořte a podívejte se, s čím by mohl pomoci vám.

Žádné komentáře:

Okomentovat