Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A szemantikai modellobjektumokban
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:
- modell írási támogatása az XMLA-végponttal
- XMLA-módosítások és összetett modellek