Forum Discussion

eslna's avatar
eslna
Icon for Advocate I rankAdvocate I
7 months ago
Solved

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:

  1. 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.
  2. Deploy this model to a workspace in Microsoft Fabric. This workspace has an f64 capacity.
  3. 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.

  1. I connected to the workspace from Tabular Editor, and opened the corresponding model.
  2. I navigated to the Table I want to update, expanded the Partition section, and updated the SQL to include the two new columns.
  3. I see no option to refresh the metadata in Tabular Editor (as some documentation I found recommends I do).
  4. I saved my changes anyway, and closed Tabular Editor.

Then..

  1. 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.
  2. I downloaded the Semantic Model pbix and opened it in Power BI.
  3. I went to Transform Data, and none of the queries used by my model are there. 
  4. I tried to click on Refresh >Schema.
  5. 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 disabled

    So:

    • 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)

    1. Open the model in Tabular Editor
    2. Expand the table
    3. Right-click Columns → Create New → Column
    4. Set:
      • Name
      • Data Type
      • Source Column (must match SQL column name exactly)
    5. Save
    6. Deploy back to the Fabric workspace
    7. 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.

    1. Script out:
      • Measures
      • Relationships
      • Sort-by columns
    2. Delete the table
    3. Recreate the table from scratch with updated SQL
    4. Reattach measures/relationships
    5. Deploy

    Easy to break dependencies — use carefully.

2 Replies

  • 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 disabled

    So:

    • 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)

    1. Open the model in Tabular Editor
    2. Expand the table
    3. Right-click Columns → Create New → Column
    4. Set:
      • Name
      • Data Type
      • Source Column (must match SQL column name exactly)
    5. Save
    6. Deploy back to the Fabric workspace
    7. 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.

    1. Script out:
      • Measures
      • Relationships
      • Sort-by columns
    2. Delete the table
    3. Recreate the table from scratch with updated SQL
    4. Reattach measures/relationships
    5. Deploy

    Easy to break dependencies — use carefully.