Megosztás a következőn keresztül:


TMDL-nézet használata a Power BI Desktopban (előzetes verzió)

A TMDL nézet lehetővé teszi, hogy modern kódszerkesztővel szkriptelje, módosítsa és alkalmazza a szemantikai modellobjektumokra vonatkozó módosításokat a Power BI Desktop táblázatos modelldefiníciós nyelvével (TMDL), javítja a fejlesztési hatékonyságot, és teljes átláthatóságot és ellenőrzést biztosít a szemantikai modell metaadatai felett.

A TMDL-nézet alternatív felületet kínál a szemantikai modellezéshez kóddal, nem pedig grafikus felhasználói felülettel, például Modellnézettel.

A TMDL nézet a következő előnyöket kínálja:

  • Fokozott fejlesztési hatékonyság egy gazdag kódszerkesztővel, amely többek között kereséssel és cserével, billentyűparancsokkal, többsoros szerkesztésekkel és egyebekkel rendelkezik.
  • A TMDL-szkriptek egyszerű szkriptelésével, megosztásával és újrafelhasználásával növelheti az újrafelhasználhatóságot a szemantikai modellfejlesztők körében. Egy központosított SharePoint-webhely használatával például egyszerűen megoszthatja az újrafelhasználható szemantikai modellobjektumokat, például naptártáblákat vagy időintelligencia-számítási csoportokat.
  • Nagyobb mértékben szabályozhatja és átláthatóbbá teheti a szemantikai modell összes objektumát és tulajdonságát, és lehetővé teheti a Power BI Desktop felhasználói felületén nem elérhető elemek (például IsAvailableInMDX vagy DetailRowsDefinition) módosítását.

Előzetes verzió engedélyezése funkció

A TMDL nézet használatához engedélyeznie kell az előzetes verziójú funkciót. A Power BI Desktopban válassza a Fájlbeállítások > és beállítások > – > Előzetes verziójú funkciók lehetőséget , majd a TMDL nézet melletti jelölőnégyzetet.

Szkript a TMDL-hez

A Power BI Desktopban válassza az ablak bal oldalán található TMDL nézet ikont, ahogyan az az alábbi képen is látható.

Képernyőkép a táblázatos modelldefiníciós nyelv T-M-D-L nézetéről.

A TMDL-nézet megnyitásakor a kódszerkesztő kezdetben üres. Bármilyen szemantikai modellobjektumot, például táblázatot, mértéket vagy oszlopot megszkriptezhet, ha kijelöli az objektumokat az Adat panelen , és áthúzza őket a kódszerkesztőbe:

Képernyőkép egy szemantikai modellobjektum T-M-D-L nézetvászonra húzásával.

TMDL-nézet használatakor és az objektum adatpanelről való húzásakor a Power BI a teljes objektum metaadatait TMDL-ként az aktuális lapra alakítja, vagy új lapot nyit meg, ha az aktuális lap nem üres, a kijelölt objektumok createOrReplace TMDL-szkriptjeként, ahogyan az az alábbi képen látható:

Képernyőkép az automatikusan létrehozott T-M-D-L metaadatokról.

Másik lehetőségként kattintson a jobb gombbal egy objektumra az Adatnézetben, és válassza a Szkript TMDL lehetőséget az új lapra vagy a vágólapra, az alábbi képen látható módon:

Képernyőkép arról, hogy a Power BI T-M-D-L metaadat-kód létrehozásához jobb gombbal kattint egy objektumra adatnézetben.

Jótanács

A többszörös kijelölést a CTRL billentyű lenyomásával támogatjuk, mielőtt az objektumokat a TMDL nézetkódszerkesztőbe szkriptelnénk.

Kódszerkesztő

Miután szkriptelt egy szemantikai modellobjektumot vagy beillesztett TMDL-szkriptet a kódszerkesztőbe, használhatja a TMDL-nézetkódszerkesztő által kínált átfogó kódélmény-funkciókat. A kódélmény funkciói lehetővé teszik a modell metaadatainak megismerését, vagy a szemantikai modellre később alkalmazható módosításokat.

Szemantikai kiemelés

A szemantikai kiemelés be van építve a kódszerkesztőbe, amely úgy javítja az olvashatóságot, hogy különböző színeket alkalmaz a kód egyes részeire jelentés alapján. Az ilyen színkódolás megkönnyíti a TMDL-kód szerkezetének és működésének megértését, ahogyan az az alábbi képen is látható.

Képernyőkép a T-M-D-L metaadatkód színkódolásáról és szemantikai kiemeléséről.

A TMDL-szkript szakaszait is kibonthatja vagy összecsukhatja, ahogyan az alábbi képen látható:

Képernyőkép a kód összecsukott szakaszairól a kódszerkesztőben.

Automatikus kiegészítés

Az automatikus kiegészítés be van építve a kódszerkesztőbe, és intelligens javaslatokat kínál beírás közben. Az automatikus kiegészítés felgyorsíthatja a munkafolyamatot, csökkentheti a hibák esélyét, és a kurzor pozíciójának figyelembevételével dinamikusan javasolhat lehetséges értékeket vagy tulajdonságokat a kódbeállítások megértéséhez.

Képernyőkép az automatikus kiegészítésről a kódszerkesztőben.

Az automatikus kiegészítés funkció bármely helyen aktiválható a Ctrl+Szóköz billentyűkombináció lenyomásával.

Eszköztippek

A környezet elemleírása az egérmutatón jelenik meg, és információt nyújt az egyes TMDL-objektumokról vagy -tulajdonságokról.

Képernyőkép a kódszerkesztő egérmutatóján látható környezeti elemleírásról, amely egy TMDL-objektumra vagy tulajdonságra vonatkozó információkat jelenít meg.

Kódműveletek

Ha a kurzor hullámos vagy kijelölt szövegen van, a TMDL nézet egy villanykörte ikont jelenít meg, amely a rendelkezésre álló kódműveleteket jelzi, például vonalcímkék generálását vagy a tulajdonságnév-elírások kijavítását.

Képernyőkép a TMDL nézetről a kódszerkesztőben, amelyen egy villanykörte ikon látható a hullámos vonal mellett, amely a rendelkezésre álló kódműveleteket, például a vonalcímkék generálását jelzi.

Képernyőkép a TMDL nézetről a kódszerkesztőben, amelyen egy villanykörte ikon látható egy hullámos vonal mellett, jelezve az elérhető, például a tulajdonságnév-elírások kijavítására szolgáló kódműveleteket.

Kódformázás

Formázza a TMDL-kódot a Shift + Alt + F billentyűkombináció lenyomásával, vagy a menüszalag Formátum lehetőségére kattintva.

Képernyőkép a kódszerkesztőről, amelyen a TMDL-kód formázása a menüszalag Formátum lehetőségével történik.

A kijelölt szöveget a helyi menü "Kijelölés formázása" opciójával is formázhatja.

Képernyőkép a kódszerkesztőről, amelyen a TMDL-kód a Shift + Alt+ F billentyűparancsot formázza.

Hibák diagnosztikája

A kódszerkesztő beépített hibadiagnosztikája segít azonosítani és kijavítani a problémákat a TMDL nyelvi hibáinak kiemelésével a kódszerkesztőben, részletes üzenetekkel, amelyek útmutatást nyújtanak a problémák megoldásához. Emellett a Problémák panelen is elérhető egy hibaösszesítés, amely megkönnyíti a hibahelyre való navigálást a kódszerkesztőben, ahogyan az az alábbi képen látható.

Képernyőkép a hibadiagnosztikáról a kódszerkesztőben.

Módosítások alkalmazása a szemantikai modellre

Ha elkészült, az Alkalmaz gombra kattintva végrehajthatja a TMDL-szkriptet a szemantikai modellen, és alkalmazhatja a TMDL-kód módosításait.

Képernyőkép a szkript alkalmazásáról a kódszerkesztő Alkalmazás gombjával.

Sikeresség esetén megjelenik egy értesítés, és a rendszer alkalmazza a modellezési módosítást a szemantikai modellre.

Képernyőkép a siker szalagcíméről a kódszerkesztőben, amely azt jelzi, hogy a módosítások sikeresen alkalmazva lettek.

Hiba esetén hibaértesítés jelenik meg, amely jelzi, hogy a modellezési módosítások nem lettek alkalmazva a szemantikai modellre. A hibával kapcsolatos további információk megtekintéséhez válassza a Részletek megjelenítése hivatkozást az értesítésben, majd bontsa ki a Kimenet panelt , és megjelenítse a hiba részleteit.

Képernyőkép a hiba szalagcíméről a kódszerkesztőben, amely azt jelzi, hogy a módosítások nem voltak sikeresek.

Megjegyzés:

A TMDL-nézet csak a szemantikai modell metaadatait módosítja az adatok frissítése vagy a jelentés befolyásolása nélkül. Ha a módosításokhoz adatfrissítésre van szükség, például PowerQuery-kifejezés vagy számított oszlopkifejezés módosítására, manuálisan kell frissítenie a táblázatot vagy a modellt a módosítások érvénybe lépéséhez. Emellett egy mező átnevezése TMDL nézetben megszakíthatja az adott mezőt használó jelentés vizualizációit.

A szemantikai modell módosításainak előzetes verziója

A TMDL nézet lehetővé teszi a szkriptmódosítások előnézetének megtekintését a szemantikai modell előnézetének megjelenítésével a szkript végrehajtása előtt és után, TMDL-kóddiffként megjelenítve. A szkriptmódosítások előzetes megtekintése különösen akkor hasznos, ha más forrásokból másol szkripteket, így a szemantikai modellen való futtatás előtt felmérheti azok hatását.

Az Előnézet gombra kattintva megjelenik a szemantikai modell TMDL-diffje a TMDL-szkript megnyitása előtt és után a megnyitott lapon.

Képernyőkép az előnézeti gombról a szkriptmódosítások előnézetének megtekintéséhez.

A jobb oldali panelen egy egymás melletti ablak jelenik meg, ahogyan az alábbi képen is látható.

A függőben lévő szkriptmódosítások előnézeti nézet paneljének képernyőképe.

A piros és a zöld mezők kiemelik a változásokat, a piros mezők pedig az eltávolított vagy módosított vonalakat, a zöld pedig az új vonalakat jelzik.

Képernyőkép a függőben lévő szkriptmódosítások piros és zöld kiemeléséről.

Megjegyzés:

Az összehasonlítás nem közvetlenül a jelenleg megjelenített TMDL-szkripttel, hanem egy átfogó szemantikai modell összehasonlításával a szkript végrehajtása előtt és után. Előfordulhat tehát, hogy egyes tulajdonságok sorrendje eltér a lapon láthatótól, és az alapértelmezett TMDL tulajdonsághoz/objektumrendezéshez van kapcsolva.

Az előnézet írásvédett, de folytathatja a forgatókönyv szerkesztését. Ha módosítani szeretné az előnézetet a módosítások után, válassza az Előnézet frissítése gombot, ahogyan az az alábbi képen látható szalagcímen látható.

Képernyőkép a frissítés előnézeti gombjáról.

Az előnézeti képernyő jobb felső sarkában található egy eszköztár, amely lehetővé teszi az összes kóddiff navigálását, lehetővé téve a beágyazott vagy egymás melletti diffek közötti váltást, a változatlan régiók megtekintését vagy elrejtését, valamint az előnézeti nézet bezárását.

Képernyőkép a szkript előnézeti eszköztáráról.

A szemantikai modell módosításainak előzetes megtekintésekor figyelembe kell venni néhány szempontot:

  • A TMDL nézet minden előzetes verziójú végrehajtáskor alaphelyzetbe állítja a nézetkonfigurációkat.
  • Az előzetes verzió csak érvényes TMDL-módosítással fut. Az érvénytelen TMDL-szkriptek nem hajtanak végre előnézetet, és hiba jelenik meg a Kimenet panelen.

TMDL-szkriptfülek

TMDL nézetben egyszerre több szkriptlap is lehet, amelyek bármelyike átnevezhető vagy eltávolítható.

Képernyőkép több lapról a T-M-D-L nézetben.

A Power BI Desktop-jelentés mentésekor a TMDL-nézet lapjainak tartalma a jelentésfájlba kerül, így a Power BI Desktop jelentésfájljának következő megnyitásakor ott folytathatja, ahol abbahagyta. Power BI-projektbe (PBIP) való mentéskor a program minden szkriptlapot .tmdl fájlként ment a \TMDLScripts mappába, ahogy az az alábbi képen is látható.

Képernyőkép a Power BI Desktop-fájlok lapjainak mentésére szolgáló fájlstruktúráról.

Jótanács

A TMDL-szkripteket megnyithatja és szerkesztheti a Visual Studio Code-ban, és azok megfelelően újratöltődnek a Power BI Desktop újraindítása után.

A Problémák és kimenet panelek az aktuálisan kijelölt és megjelenített szkriptlapra vonatkozó hibákat és üzeneteket jelenítik meg. Ha másik TMDL-szkriptlapra vált, mindkét ablaktáblát frissíti a kijelölt és az aktuálisan megjelenített lapra vonatkozó információkkal.

A Kimenet panel üzeneteinek kiürítéséhez válassza a Törlés gombot.

Képernyőkép a kimeneti panel üzeneteinek kiürítéséhez használt törlési gombról.

Az üzenetek csak minden Power BI Desktop-munkamenethez megmaradnak, így a Power BI Desktop újraindítása törli az összes szkriptfül összes kimeneti üzenetét.

Kompatibilitási szint frissítési kérése

A Power BI szemantikai modell kompatibilitási szintje határozza meg az elérhető funkciókat. A TMDL nézet lehetővé teszi bármely Analysis Services-objektum vagy tulajdonság hozzáadását, még akkor is, ha az nem érhető el az aktuális kompatibilitási szinten. A kompatibilitási szintű frissítést igénylő módosítás alkalmazásakor a TMDL nézet egy parancssort jelenít meg, amely jelzi, hogy mely objektumok vagy objektumok igényelik a frissítést.

Képernyőkép a Power BI TMDL nézetéről egy kompatibilitási szintű frissítési kéréssel. Az üzenet azt jelzi, hogy az 1550-es jelenlegi kompatibilitási szint a FormatStringDefinition tulajdonsághoz szükséges 1601-es szint alatt van, és megkérdezi, hogy frissítse-e és alkalmazza-e újra a módosítást.

Objektum átnevezése TMDL nézetben

Ha át szeretne nevezni egy objektumot a TMDL nézetben, szükséges a szülőjét szkripttel megadni. Egy oszlop átnevezéséhez például a tábla szkriptelése szükséges, míg a táblák átnevezéséhez a teljes szemantikai modell szkriptelése szükséges. További információ a táblázatos objektummodell-hierarchiáról a következő dokumentumban: Táblázatos objektummodell-hierarchia.

A TMDL nézetben a tömeges átnevezés hatékonyan elvégezhető egyszerű keresési és csereminták használatával. Az alábbi lépések végrehajtásával például átnevezheti az összes táblaoszlopot kisbetűsre.

Nyissa meg a TMDL nézetet, és szkriptelje a módosítani kívánt táblát.

Nyomja le a CTRL+F billentyűkombinációt a keresés és csere párbeszédpanel megnyitásához, és győződjön meg arról, hogy a Reguláris kifejezés beállítás engedélyezve van.

Képernyőkép a Power BI TMDL nézetéről, amelyen a használatban lévő Keresés és csere funkció látható. A Csere bemenet aktív, és válthat a Keresés és a Csere mód között, kiemelve a kódszerkesztő fölötti eszköztáron.

Írja be a következő mintákat a keresési és csere mezőkbe, és válassza az Összes cseréje.

Tevékenység Minta/helyettesítés
Keress (^\s+column\s+)(.+)
Helyettesít $1\L$2

Képernyőkép egy Power BI adatmodell konfigurációs képernyőről, amelyen egy terméktábla definíciója látható két oszloptal: termék (sztring) és termékkulcs (int64) a metaadatok tulajdonságaival együtt.

Futtassa a TMDL-szkriptet az összes táblaoszlop kisbetűsre való átnevezéséhez:

Képernyőkép egy Power BI-terméktábláról, amelyen 14 oszlop látható, beleértve a márka, kategória, szín, gyártó, termék, termékkulcs, alkategória, egységköltség, egységár és súlyattribútumokat.

Figyelje meg, hogy az oszlop neve eltér a sourceColumn tulajdonságtól.

Képernyőkép egy Power BI-adatmodell konfigurációjáról, amelyen a productKey oszlopdefiníciója int64-adattípussal látható, ahol a sourceColumn a forrásadatokban a ProductKey-re van leképezve.

A szemantikai modell táblája és a Power Query-lekérdezés közötti szinkronizálás a sourceColumn-n alapul, ami lehetővé teszi, hogy a nevek függetlenek maradjanak. A Power Query-szerkesztő megnyitásakor a modell oszlopneve helyett a sourceColumnnak megfelelő oszlopnevek jelennek meg. Emellett a felhasználói felületen lévő oszlop átnevezése nem ad automatikusan átnevezési lépést a lekérdezéshez, amíg a sourceColumn és az oszlop neve nem azonos.

Képernyőkép a Power BI Lekérdezésszerkesztőjéről, amelyen a Termékkulcs, a Termékkód, a Termék és a Gyártó oszlopai láthatók, és 16 lekérdezés látható a navigációs panelen.

TMDL nézet és Power BI-projekt

Ha Power BI-projektként (PBIP) menti a munkáját, TMDL-fájlokként férhet hozzá a szemantikai modelldefiníciós metaadatokhoz, így hasznos forráskövetési és közös fejlesztési élményt nyújt, és lehetővé teszi a szemantikai modell módosítását a Power BI Desktopon kívül is. Ha azonban módosítja a TMDL-fájlokat a PBIP-ben, újra kell indítania a Power BI Desktopot a módosítások újratöltéséhez. Ezzel szemben a TMDL nézet egy szkriptelési mentális modellt követ, amely lehetővé teszi a módosítások hatékony alkalmazását közvetlenül a Power BI Desktopban A TMDL használatával szerkesztett szemantikai modellre, függetlenül attól, hogy a fájlformátum PBIX vagy PBIP.

Mindkét felületet zökkenőmentesen integrálhatja. A PBIP-ben például frissítheti a TMDL-definíciót a gyors módosításokhoz a Power BI Desktop elindítása nélkül, és a TMDL nézetet akkor használhatja, ha a Power BI Desktop már meg van nyitva, hogy hatékonyan implementálja a szemantikai modell módosításait a TMDL használatával. Mindkét megközelítés gazdag és konzisztens TMDL-kódolási élményt nyújt.

TMDL-nézet gyakori használati esetei

Forgatókönyv: Újra fel kell használnom vagy meg kell osztnom egy szemantikai modelltáblát a teljes definíciójával, beleértve az oszlopokat, a Power Query-kifejezést és a konfiguráció szerinti rendezést, valamint egy másik szemantikai modellben lévő többit.

Megoldás: Nyissa meg a szemantikai modellt a táblával, és szkriptelje a TMDL nézettel. Másolja a szkriptet a másik Power BI Desktop-ablakba, nyissa meg a TMDL nézet lapot, és alkalmazza a szkriptet.



Forgatókönyv: Elneveztem az összes táblámat a "dim_" vagy a "fact_" előtaggal. Ezeket az előtagokat a több mint 100 tábla manuális frissítése nélkül szeretném eltávolítani.

Megoldás: Nyissa meg a TMDL nézetet, szkriptelje a szemantikai modellt, keresse meg az előtagot (a reguláris kifejezések támogatottak), és cserélje le egy üres szövegre.



Forgatókönyv: Létre kell hoznom egy perspektívát a szemantikai modellemben a személyre szabott vizualizációk funkció használatához. Nem tudom azonban létrehozni vagy szerkeszteni a Power BI Desktop grafikus felületével.

Megoldás: Nyissa meg a TMDL nézetet, hozzon létre egy új üres lapot (vagy használja a szkriptet egy meglévő perspektívából), majd hozza létre vagy szerkessze a perspektívát a TMDL használatával. Ez a módszer más szemantikai modell metaadataira is vonatkozik, amelyek nem rendelkeznek grafikus felülettel, például fordításokkal, részletes sorkifejezésekkel és másokkal.

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


Forgatókönyv: Frissítés aktiválása nélkül módosítani kell a táblázatOm Power Query-kifejezését.

Megoldás: Szkriptelje a táblát, módosítsa a Power Query-kifejezést, és alkalmazza a módosításokat. A TMDL-nézet nem igényli az adatok frissítését.



Forgatókönyv: Át kell váltania a táblázat tárolási módját DirectQueryről Importálásra, és fordítva

Megoldás: Szkriptelje a táblát, frissítse a partíciós módot, és alkalmazza a módosításokat.



Forgatókönyv: Fontos módosítások elvégzése előtt biztonsági másolatot kell készítenem a szemantikai modell definícióiról, és szükség esetén egyszerűen vissza kell lépnem egy korábbi definícióra.

Megoldás: Szkriptelje a szemantikai modellt vagy a biztonsági másolatot készíteni kívánt egyes részeket, végezze el a módosításokat más nézetekben, és szükség esetén térjen vissza a TMDL nézethez, hogy visszaállítsa az előző metaadatokat a mentett szkript futtatásával.



Megfontolások és korlátok

A TMDL nézet jelenleg előzetes verzióban érhető el, ezért tartsa szem előtt az alábbi korlátozásokat:

  • A TMDL nézet használatával bármely objektumot vagy tulajdonságot szerkeszthet egy szemantikai modellben. A hiányos vagy helytelen módosítások azonban váratlan viselkedéshez vezethetnek. A műveletekkel kapcsolatos további útmutatásért tekintse meg a Modellkészítés című cikket.
  • A parancskatalógus néhány jelenleg nem támogatott parancsot jelenít meg.
  • A kezdeti Git-integráció munkaterületről való beállítása nem tartalmazza a közzétett szemantikai modellben mentett TMDL View-szkripteket. További információ a Fabric Git integrációs cikkében.
  • Nem lehet szkriptelni modellező csoportokat, mint például a Mértékek, Oszlopok stb.

Az alábbi cikkek részletesebben ismertetik a TMDL-t és annak használatát.