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