Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
jaryszek
Valued Contributor III

How to find SourceLineageTag withim project file?

Hi Guys,

I see this "Changing a table or column name at the data source removes the table or column on the next schema refresh. You can use TMDL view  to see the SourceLineageTag property and update it to the new name to avoid the semantic model removing it on schema refresh." 

here: 
learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-power-bi-desktop

 

can anybody point me to the place where this tag is? 

I have exact issue like in this sentence.
After changing columns in TE after refreshing DirectLake over OneLake semantic model in Fabric changes were saved. But when I opened power bi desktop, connected to directlake semantic model hit refresh, all changes were reverted. 

I am lookin for possibilities why it happened.

Best,
Jacek

1 ACCEPTED SOLUTION
v-sgandrathi
Honored Contributor III

Hi @jaryszek,

 

You’re right that ChangedProperty = Name is used to track renamed objects so Power BI recognizes the column or table as the same entity after schema changes. When updating the expressionSource, there’s no need to add another ChangedProperty entry. The expression or query is managed by its own source or expression property in the TMDL file, so using ChangedProperty = Name for renamed elements is enough.

If you’re working with a Direct Lake or composite model, ensure the sourceLineageTag accurately references the updated table or field in your Lakehouse or Warehouse. This helps Power BI bind the renamed fields correctly and prevents them from being reset or dropped after a schema refresh. Only the Name property needs the change-tracking flag; other updates like expression changes are automatically managed during model sync.

 

Thank you.

View solution in original post

3 REPLIES 3
v-sgandrathi
Honored Contributor III

Hi @jaryszek,

 

This issue typically occurs when renamed columns lose their connection to the original data source, which is managed by the SourceLineageTag property in the model definition. You can locate this tag in your semantic model’s TMDL (Tabular Model Definition Language) view. In Power BI Desktop, open the TMDL view and expand the renamed table or column. You’ll find script lines like lineageTag: and sourceLineageTag:, with the latter linking the model column to the source field.
If your report is saved as a Power BI Project (.pbip), you can also open the file at YourProject.SemanticModel/definition/model.tmdl (or within the relevant table folder) and search for sourceLineageTag. Make sure this tag matches the renamed source column.

Updating the SourceLineageTag to reflect the new name allows Power BI to identify the object as the same source field during schema refresh, preventing it from being deleted or reset. This tag maintains the relationship between renamed fields in your model and the original source columns, ensuring your TE (Tabular Editor) changes remain after refreshing Direct Lake or reopening the model in Power BI Desktop.

Lineage tags for Power BI semantic models | Microsoft Learn
Use Tabular Model Definition Language (TMDL) view in Power BI Desktop - Power BI | Microsoft Learn

Power BI Desktop projects (PBIP) - Power BI | Microsoft Learn

Thank you.

jaryszek
Valued Contributor III

Ok thanks,

I want to add few things:

1. Linear Tag for each table you can check under TMDL script, if this is pointing to old table schema it will not work, you need to have exact tag for specific schema and table you want to switch with: like Mart.FctTable2
2. You need to change also this kind of annotation: 

jaryszek_0-1760449645296.png



from automatic generated string to just False. 
3. You need to add ChangedProperty = Name within specific table and you can change EntityName and Schema:

jaryszek_1-1760449736384.png


Voila! you can refresh model. 

My question to you @v-sgandrathi , if i want to change expressionSource this ChangedProperty = Name will be enough or i should use another property? 

Best,
Jacek

 

v-sgandrathi
Honored Contributor III

Hi @jaryszek,

 

You’re right that ChangedProperty = Name is used to track renamed objects so Power BI recognizes the column or table as the same entity after schema changes. When updating the expressionSource, there’s no need to add another ChangedProperty entry. The expression or query is managed by its own source or expression property in the TMDL file, so using ChangedProperty = Name for renamed elements is enough.

If you’re working with a Direct Lake or composite model, ensure the sourceLineageTag accurately references the updated table or field in your Lakehouse or Warehouse. This helps Power BI bind the renamed fields correctly and prevents them from being reset or dropped after a schema refresh. Only the Name property needs the change-tracking flag; other updates like expression changes are automatically managed during model sync.

 

Thank you.

Helpful resources

Announcements
Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Users online (12,756)