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


A Power BI szemantikai modelljeinek vonalcímkék

A szemantikai modellobjektumokban életútcímkéket használhatja az ilyen objektumok különböző szemantikai modellek közötti stabil azonosításához. A vonalcímkék használata lehetővé teszi a Power BI olyan funkcióit, mint összetett modellek a hivatkozott táblákhoz vagy oszlopokhoz való kötésük fenntartásához (SourceLineageTaghasználatával), még akkor is, ha a forrás szemantikai modell objektumát átnevezték.

Az életútcímkéknek a hatókörükön belül egyedinek kell lenniük; Egy szemantikai modell két táblája például nem rendelkezhet ugyanazzal a névvel. A Power BI Desktop általában guid azonosítót rendel minden olyan szemantikai modellobjektumhoz, amelyhez leágazás szükséges, de ez a hozzárendelés nem kötelező, és a vonalcímkék bármilyen más sztringformátumra módosíthatók.

Fontos

Ha a szemantikai modell objektumai nem rendelkeznek vonalcímkével, a Power BI alapértelmezés szerint az objektum nevét használja, ami az objektum átnevezése esetén a testreszabások elvesztéséhez vezethet.

Felhasználói testreszabások nyomon követése szemantikai modellekre

A szemantikai modellek tartalmazhatnak más modellekből vagy adatforrásokból származó objektumokat és tulajdonságokat. Ha például összetett modellt hoz létre Power BI szemantikai modelleken, a tábla- és oszlopnevek, adattípusok, formázási sztringek és egyéb tulajdonságok a forrásmodellből származnak.

Az adatforrásból szinkronizált tulajdonságok testreszabásakor vagy a modellben lévő objektumok eltávolításakor a Power BI elvárja, hogy a módosítottProperties tulajdonság és PBI_RemovedChildren széljegyzetet úgy állítsa be, hogy a felhasználó testreszabását jelezze, hogy a testreszabások megmaradjanak az adatforrással való következő séma-szinkronizálás során.

A következő objektumok/tulajdonságok szinkronizálódnak az adatforrással, és megkövetelik a módosított tulajdonságok és az objektumok eltávolításának deklarálását:

Forgatókönyv Objektumok Tulajdonság testreszabása Eltávolítás testreszabása
Importálás/DirectQuery Táblák, oszlopok, kapcsolatok Név, DataType Kapcsolatok 1
Kompozit Táblák, oszlopok, kapcsolatok, mértékek, hierarchiák, szintek Név, DataType, IsHidden, FormatString, Leírás, SummarizeBy, DataCategory, SortByColumn, GroupByColumns, DisplayFolder, IsNullable A távoli modell összes táblája nem szerepel a helyi modellben
DirectLake Táblák, oszlopok Név, DataType A Lakehouse összes táblája nem szerepel a modellben

[1] a Power BI automatikusan kapcsolatokat hoz létre az adatforrás elsődleges és idegen kulcsadatai alapján. Ha a felhasználók eltávolítják ezeket a kapcsolatokat, a Power BI nyomon követi a módosításokat, hogy megakadályozza azok újbóli hozzáadását a séma későbbi szinkronizálása során.

A ChangedProperties gyűjtemény

A ChangedProperties gyűjtemény lehetővé teszi annak megadását, hogy mely objektumtulajdonság-értékek lettek módosítva, ami azt jelzi, hogy ezek az értékek már nem szinkronizálhatók a forrással.

Ha például összetett modellt hoz létre Power BI szemantikai modelleken, az oszlopnevek a forrásmodellből származnak. Ha átnevez egy oszlopot a helyi modellben, meg kell adnia a Név tulajdonságot módosított tulajdonságként.

Az alábbi példában a forrásmodell ProductID oszlopát átnevezték ProductKey:

table Products 

    column ProductKey 
        dataType: int64          
        lineageTag: 9636345e-0328-43fb-acd3-e7894734d08a 
        sourceLineageTag: 6890686b-4899-4916-9ec2-2e8ff5a05eb7               
        sourceColumn: ProductID 

        changedProperty = Name

A PBI_RemovedChildren széljegyzet

A PBI_RemovedChildren széljegyzet az eltávolított elem szülőobjektumán deklarált modelljegyzet, amely deklarálja a felhasználó szándékát, hogy kizárjon egy objektumot a helyi objektumból. Összetett modell létrehozásakor például kiválaszthatja, hogy mely táblákat töltse be, és az adatforrás NamedExpression tárolt PBI_RemovedChildren széljegyzet tartalmazza az összes nem kijelölt táblát. Az Importálási és DirectQuery-modellekben a rendszer a modellen belül tárolja a jegyzetet, hogy nyomon kövesse a kapcsolatok eltávolítását.

Ha nem deklarálja ezt a megjegyzést, akkor szemantikai modellobjektumok lesznek lekérve a forrással való sémaszinkronizálás során.

Az alábbi példában a rendszer eltávolít egy táblát az összetett modellből. A forrásmodell-tábla életútcímkéjét használja a rendszer a neve helyett a stabil azonosítás érdekében:

expression 'DirectQuery to AS - AdventureWorks' = 
        let 
            Source = AnalysisServices.Database("[XMLA Endpoint]"), 
            Cubes = Table.Combine(Source[Data]), 
            Cube = Cubes{[Id="Model", Kind="Cube"]}[Data] 
        in 
            Cube 

    annotation PBI_RemovedChildren = [{"remoteItemId":{"analysisServicesObject":{"sourceName":null,"sourceLineageTag":"8e47b52e-1c1a-4029-b6cc-25200d213fcf"}},"objectType":"Table"}]

Szempontok és korlátozások

  • Importálási/DirectQuery-modellek esetén a módosultProperty csak akkor szükséges, ha a módosítás nem hajtható be a tábla M lekérdezésébe, például natív lekérdezést használó DirectQuery-táblákban.
  • DirectLake-modellek esetén a sourceLineageTag a Lakehouse/data warehouse táblájának/oszlopának neve kell, hogy legyen.

Következő lépés

A következő cikkek hasznos további információkat tartalmaznak: