Forum Discussion
Unable to update schema in semantic model
Hello,
I need to add some columns to an existing semantic model and the Refresh > Schema option in PBI Desktop is greyed out.
Here is some background:
Our team creates tabular models in Visual Studio. These models run without issue in SSAS.
- The data source is an on-prem SQL Server.
We're in the middle of a Microsoft Fabric Proof of Concept and have been working with a solutions architect from Microsoft and he recommended we migrate our Tabular Models to Power BI/Fabric using this method:
- Open the Tabular Model BIM file in Tabular Editor 2.2, updated the compatibility to 1600 and the Default Power BI Data Source Version is V3.
- Deploy this model to a workspace in Microsoft Fabric. This workspace has an f64 capacity.
- Test the model by refreshing the data and develop a few sample reports. All of this works as intended.
We now need to add 2 more columns to one of the tables in the model.
- I connected to the workspace from Tabular Editor, and opened the corresponding model.
- I navigated to the Table I want to update, expanded the Partition section, and updated the SQL to include the two new columns.
- I see no option to refresh the metadata in Tabular Editor (as some documentation I found recommends I do).
- I saved my changes anyway, and closed Tabular Editor.
Then..
- I opened the model in the Power BI Service/Microsoft Fabric. No option to refresh metadata anywhere. The 2 new columns are not available for me to use.
- I downloaded the Semantic Model pbix and opened it in Power BI.
- I went to Transform Data, and none of the queries used by my model are there.
- I tried to click on Refresh >Schema.
- That option is greyed out.
Issues:
No ability to refresh metadata from the Power BI Service.
No ability to refresh metadata from Tabular Editor.
No ability to refresh metadata from Power BI Desktop.
Has anyone encountered these issues?
AI response:
What you’re seeing is by design, but it’s poorly documented.
I’ll break it down cleanly and then tell you exactly how to add those columns.
The core reason (TL;DR)
You deployed a metadata-only / external semantic model into Fabric.
Once a semantic model is:
- Compatibility level 1600
- Data Source Version V3
- Deployed via Tabular Editor / XMLA
👉 Power BI Desktop no longer owns the model schema
👉 Power Query does not exist
👉 “Refresh > Schema” is permanently disabledSo:
- ❌ Desktop cannot refresh schema
- ❌ Service UI cannot refresh schema
- ❌ There is no “Get Data / Transform Data” layer anymore
This is expected behavior for XMLA-authored models.
Why your Tabular Editor change didn’t surface the columns
This is the subtle but critical part:
Editing the SQL text in a partition does NOT update column metadata
In tabular models:
- Columns are metadata objects
- Partitions only define how data is loaded
- Adding columns to SQL ≠ adding columns to the model
So when you:
updated the SQL to include two new columns
The engine happily loads them internally, but:
- The model does not know those columns exist
- They are not materialized as Table.Columns[]
- Power BI will never show them
Why “Refresh Metadata” doesn’t exist
In SSAS / Fabric semantic models:
- There is no automatic schema discovery
- Metadata refresh is not supported
- Schema changes must be explicit
This is different from:
- Import-mode PBIX
- Power Query–based datasets
The correct way to add columns (this WILL work)
You must explicitly add the columns in Tabular Editor.
Option A — Add columns manually (recommended & safest)
- Open the model in Tabular Editor
- Expand the table
- Right-click Columns → Create New → Column
- Set:
- Name
- Data Type
- Source Column (must match SQL column name exactly)
- Save
- Deploy back to the Fabric workspace
- Run a data refresh
✅ Columns will appear immediately
Option B — Recreate the table metadata (faster but riskier)
Only do this if the table is simple.
- Script out:
- Measures
- Relationships
- Sort-by columns
- Delete the table
- Recreate the table from scratch with updated SQL
- Reattach measures/relationships
- Deploy
Easy to break dependencies — use carefully.
2 Replies
- Shravan133
Super User
AI response:
What you’re seeing is by design, but it’s poorly documented.
I’ll break it down cleanly and then tell you exactly how to add those columns.
The core reason (TL;DR)
You deployed a metadata-only / external semantic model into Fabric.
Once a semantic model is:
- Compatibility level 1600
- Data Source Version V3
- Deployed via Tabular Editor / XMLA
👉 Power BI Desktop no longer owns the model schema
👉 Power Query does not exist
👉 “Refresh > Schema” is permanently disabledSo:
- ❌ Desktop cannot refresh schema
- ❌ Service UI cannot refresh schema
- ❌ There is no “Get Data / Transform Data” layer anymore
This is expected behavior for XMLA-authored models.
Why your Tabular Editor change didn’t surface the columns
This is the subtle but critical part:
Editing the SQL text in a partition does NOT update column metadata
In tabular models:
- Columns are metadata objects
- Partitions only define how data is loaded
- Adding columns to SQL ≠ adding columns to the model
So when you:
updated the SQL to include two new columns
The engine happily loads them internally, but:
- The model does not know those columns exist
- They are not materialized as Table.Columns[]
- Power BI will never show them
Why “Refresh Metadata” doesn’t exist
In SSAS / Fabric semantic models:
- There is no automatic schema discovery
- Metadata refresh is not supported
- Schema changes must be explicit
This is different from:
- Import-mode PBIX
- Power Query–based datasets
The correct way to add columns (this WILL work)
You must explicitly add the columns in Tabular Editor.
Option A — Add columns manually (recommended & safest)
- Open the model in Tabular Editor
- Expand the table
- Right-click Columns → Create New → Column
- Set:
- Name
- Data Type
- Source Column (must match SQL column name exactly)
- Save
- Deploy back to the Fabric workspace
- Run a data refresh
✅ Columns will appear immediately
Option B — Recreate the table metadata (faster but riskier)
Only do this if the table is simple.
- Script out:
- Measures
- Relationships
- Sort-by columns
- Delete the table
- Recreate the table from scratch with updated SQL
- Reattach measures/relationships
- Deploy
Easy to break dependencies — use carefully.
- eslna
Advocate I
Thanks for the information!