Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: ✅ Warehouse in Microsoft Fabric
This guide helps you migrate an existing Power BI datamart to Fabric Data Warehouse.
Fabric Data Warehouse is more scalable, more secure, more enterprise-ready, and provides expanded T-SQL support compared to Power BI Datamarts, which remain a preview feature. Fabric Data Warehouse is built on next generation analytics technology and evolved from Azure Synapse Analytics and SQL Server.
Beginning June 1, 2025, creating a new Power BI datamart will redirect to creating a new Fabric Warehouse.
Important
Beginning October 1, 2025, Power BI datamarts will not be supported and datamarts will be cleaned up from workspaces. To avoid losing your data and breaking reports built on top of datamarts, migrate your datamart to warehouse. To upgrade existing datamarts to Fabric Data Warehouse, follow the steps in this guide.
Prerequisites
- You need a P or F SKU to create a warehouse.
- Get a list of your datamarts:
Migration options
You have two options for upgrading an existing datamart to a warehouse:
- Use Microsoft-published accelerator scripts for Power BI Datamart Modernization on GitHub.
- Use the following manual upgrade steps.
Manual upgrade steps
In your Power BI Datamart, select Transform data in the Home ribbon. Choose Export template to export your Power BI datamart schema and data as a template in Power Query Online.
In the Fabric portal, create a new blank Fabric warehouse.
From the Home tab of the warehouse, select the Get data drop-down, and then select New Dataflow Gen2.
Within the new Dataflow Gen2 editor, select Import from a Power Query template.
Select Save & run, which will both publish your dataflow and start a refresh of your data loaded into the Fabric warehouse.
Connect your Power BI reports and dashboards to your Fabric Data Warehouse via the Default Semantic Model or as a data source.
Optimize your data mart for Fabric Data Warehouse
The following are tips to optimize your upgraded datamart as a Fabric warehouse. Although optional, these topics can be helpful depending on what type of datamart features your organization is using.
Enable the custom semantic model in your Fabric Data Warehouse
Datamarts automatically add all tables to the default Power BI semantic model. In Fabric Data Warehouse, the default behavior does not automatically add tables and views to the default Power BI semantic model. This ensures the background sync will not get triggered. This will also disable some actions like "New Measure", "Create Report", and "Analyze in Excel".
If you want to change this default behavior:
- In the settings of the warehouse or SQL analytics endpoint, enable the Sync the default Power BI semantic model setting. This restarts the background sync that incurs some consumption costs.
- Open the Manage default Power BI semantic model in the ribbon.
- Manually pick tables and views to be added to semantic model.
- Recreate any measures, relationships, or other business semantics as needed.
To learn more on how to edit data models in the Power BI service, see Edit Data Models.
Alternatively, you can script out RLS definitions from the datamart and reapply to a new dataset programmatically.
- To script out the Tabular Model Scripting Language (TMSL) schema of the semantic model, you can use SQL Server Management Studio (SSMS). To connect, use the semantic model's connection string, which looks like
powerbi://api.powerbi.com/v1.0/myorg/myusername
.- You can find the connection string for your semantic model in Settings, under Server settings.
- Generate an XMLA script of the semantic model via SSMS's Script context menu action. For more information, see Dataset connectivity with the XMLA endpoint.
Script out and re-create row-level security (RLS)
Row-level security (RLS) must be re-created in the warehouse, using Role-based access control (RBAC) and Row-level security in Fabric data warehousing.
Fabric warehouse supports more security and governance controls than Power BI datamarts at a granular level.
- In datamart, the data was ingestion into tables in
dbo
schema but users were provided with corresponding views on these tables inmodel
schema. Every object in datamarts is accessible via a view in themodel
schema. - In a warehouse, to reproduce the same objects, create a new schema named
model
and create views in themodel
schema on each table. You can enforce SQL security in a view, and/or provide any custom T-SQL security as required, with more capabilities than in the datamart interface in Power BI. For more information, see Row-level security in Fabric data warehousing.
Incremental refresh with Dataflows Gen2
Incremental refresh is a feature that allows you to refresh only the data that has changed since the last refresh, instead of refreshing the entirety of the data.
This can improve the performance and efficiency of your dataflows and reduce the load on your sources and destinations. For guidance on how to set up incremental refresh with Dataflow Gen2, see Pattern to incrementally amass data with Dataflow Gen2.