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

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
Tiger_an
Frequent Visitor

Directlake semantic model, calculated table

I have several direclake semantic models, but some of them are able to use calculated tables, but some are not, what even strange, for some direclake semantic model, I was able to create calculated tables at the beginning, but after some days or months, I can do this anymore, the calculated table option is grayed out.

My question is, is there any explicit explanation from Microsoft, whether we can use calculated table in a directlake semantic model, and if yes, what's the detialed limitations?

 

Thanks.

Best Regards.

Tiger

1 ACCEPTED SOLUTION
neetesh91
Frequent Visitor

Hi @Tiger_an : I recommend checking the ticket below, as it might address your concern. There were some design updates introduced to improve performance and ensure consistency across Fabric.

 

https://community.fabric.microsoft.com/t5/Fabric-platform/New-Table-or-New-Parameter-Button-on-Seman...

 

Thanks.

View solution in original post

9 REPLIES 9
v-achippa
Community Support
Community Support

Hi @Tiger_an,

 

Thank you for reaching out to Microsoft Fabric Community.

 

Thank you @MJParikh and @neetesh91 for the prompt response. 

 

As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's for the issue worked? Is your issue resolved? or let us know if you need any further assistance.

 

Thanks and regards,

Anjan Kumar Chippa

Hi @Tiger_an,

 

We wanted to kindly follow up to check if the solution provided by the user's for the issue worked? Is your issue resolved? or let us know if you need any further assistance.

 

Thanks and regards,

Anjan Kumar Chippa

neetesh91
Frequent Visitor

Hi @Tiger_an : I recommend checking the ticket below, as it might address your concern. There were some design updates introduced to improve performance and ensure consistency across Fabric.

 

https://community.fabric.microsoft.com/t5/Fabric-platform/New-Table-or-New-Parameter-Button-on-Seman...

 

Thanks.

@neetesh91  This morning when I opened the same semantic model, both new table and new column options are enabled now. I think still there is something not stable in the back end for direclake semantic models.

Tiger_an_0-1758766784615.png

 

Thanks @neetesh91 , this can at least explain a reason, but off course lead to inconvenience when develop directlake semantic models, hope Microsoft can make a detail document for this soon.

Best Regards.

Tiger

Yes @Tiger_an  : I observed a similar behavior, except that the 'New Column' option is disabled while editing the model. Not entirely sure, but it could be due to a recent feature change or update rollout. Hopefully, this will be resolved and wrapped up soon.

 

neetesh91_0-1758813944320.png

 

Thanks.

MJParikh
Frequent Visitor

Here is what I would like to share.

From Microsoft’s docs (as of mid-2025):

  1. Calculated tables are allowed only under certain conditions.
    You can add calculated tables if they don’t reference any Direct Lake table columns

  2. Calculated columns and calculation groups have similar restrictions. Calculated columns that reference Direct Lake tables are not supported. Calculation groups (which implicitly create tables) are supported. Microsoft

  3. If the calculated table or calculated column references only import tables or does not reference Direct Lake source columns/tables, then it is allowed.

  4. Storage modes and “live editing” also matter:

    • When live editing a model in Power BI Desktop and if some tables are in Import mode (or derived without direct references to Direct Lake), you may be allowed to add those derived/calculated tables. 

    • But Direct Lake tables enforce more restrictions. 

Composite models / mixing table storage modes: There are limitations on mixing Direct Lake tables with other modes (Import, DirectQuery, Dual). Some scenarios are supported via XMLA; others not.

Based on Microsoft’s docs, here are probable causes for calculated table being unavailable in your semantic model at some point:

  • A Direct Lake table in your model is referenced by the calculated table. If you try to reference a Direct Lake table in the DAX expression, the system disables calculated tables.

  • The semantic model is now using a mode or property where calculated tables are disallowed (for example, “Direct Lake storage mode” on some sources).

  • You upgraded or shifted the model (e.g. changed storage mode, included new tables from Direct Lake) so the conditions changed.

  • The workspace / capacity / license guardrails changed. Some capacities have restrictions. 

  • A change in the source or model, e.g. added a view or table from SQL endpoint that enforces row-level security, causing fallback to DirectQuery, which might block certain derived/calculated items.

Hi @MJParikh ,

Thanks for your information on this. It's really helpful.

While I have questions regarding to your below Point:

  • The semantic model is now using a mode or property where calculated tables are disallowed (for example, “Direct Lake storage mode” on some sources).

Can you explain this in more detail? My directlylake semantic model was build on my lakehouse, all the tables are directly added from it, when can I check the storage mode? How can I change it? See below screenshot, the "add table" option is now grayed out.

Tiger_an_0-1758174325855.png

 

Best Regards.

Tiger

 

Hi @Tiger_an,
I have added the details below. Which explains the details and reason and how you can resolve it.


Why is “Add Table” grayed out?

Your screenshot shows a Direct Lake semantic model connected to a Lakehouse. In Direct Lake mode, the semantic model queries the Parquet files in your Lakehouse directly, without importing data into Vertipaq memory. This makes queries faster and reduces refresh needs. But the trade-off is some features, like calculated tables, are disabled.

Calculated tables require the engine to materialize new data structures in memory. Direct Lake mode is designed to avoid materialization and keep everything “on demand” from the Lakehouse. Because of this, Microsoft disables certain features in Direct Lake models, including:

  • Calculated tables

  • Some row-level security functions

  • Some complex DAX constructs that require Vertipaq storage

That’s why the New Table option is grayed out in your ribbon.

How to check storage mode?

You can verify the storage mode for each table:

  1. Open your model in Model view.

  2. Select a table.

  3. In the Properties pane, look for Storage mode.

    • If it says Direct Lake, the table is bound directly to the Lakehouse parquet files.

    • You might also see DirectQuery or Import for other tables if mixed modes are present.

How to change it?

There are a couple of paths:

  1. Switch table(s) to Import mode

    • Right-click the table, and choose Storage mode → Import.

    • This will pull the data into Vertipaq, which enables calculated tables, but you lose the “always fresh” Direct Lake behavior.

  2. Switch the entire model to Import mode

    • If your model must have calculated tables, set all tables to Import.

    • Refresh is then required to keep data in sync.

  3. Hybrid approach

    • Some tables are in Direct Lake, others in Import.

    • Only tables in Import support calculated tables. Direct Lake tables won’t.

Recommendation

If you need calculated tables for transformations or staging, move those specific tables into Import mode and keep the rest in Direct Lake for performance. Microsoft’s current guidance is that Direct Lake is intended for performance at scale, not for heavy in-model transformations. For complex modeling, do the shaping in your Lakehouse or a Dataflow Gen2, then connect through Direct Lake.

Helpful resources

Announcements
September Fabric Update Carousel

Fabric Monthly Update - September 2025

Check out the September 2025 Fabric update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.