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 ...
  • Shravan133's avatar
    7 months ago

    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.