Migrate Import/DirectQuery models to Direct Lake
mainSemantic Link Labs provides an automated process to migrate existing Power BI Import or DirectQuery semantic models to a new Direct Lake model. This is particularly useful for models using Power Query, as it offloads logic to Dataflows Gen2 and creates delta tables in a Fabric lakehouse.
Prerequisites
- XMLA Read/Write: Must be enabled for your capacity.
- Lakehouse: A lakehouse must exist in your Fabric workspace.
- Workspace Settings: Enable
Users can edit data models in the Power BI service(Workspace -> Workspace Settings -> General -> Data model settings).
Migration Steps
- Download the Notebook: Use the Migration to Direct Lake.ipynb notebook.
- Setup Workspace: Ensure you are in the 'Fabric' developer experience in your workspace.
- Import Notebook: In your workspace, select
New -> Import notebookand upload the downloaded file. - Add Lakehouse: Add your target lakehouse to the notebook.
- Execute Notebook: Follow the internal notebook instructions to:
- Create a Power Query Template (.pqt) file.
- Sync files via OneLake file explorer.
- Create a Dataflow Gen2 from the .pqt file within your lakehouse (this ensures automatic destination mapping).
- Publish the Dataflow and wait for delta tables to be created.
- Generate the new Direct Lake semantic model.
- Rebind existing reports to the new model.
What is migrated
- Standard Objects: Tables, columns, calculation groups, measures, relationships, hierarchies, roles, RLS, perspectives, and translations.
- Calculated Tables: Migrated as data tables with DAX expressions stored as model annotations (a workaround for Direct Lake limitations).
- Field Parameters: Migrated as calculated tables.
Limitations
- Calculated Columns: Not migrated.
- Auto date/time tables: Not migrated (disable this in Power BI Desktop and use proper date tables instead).
- Broken References: References to calculated columns in Field Parameters or DAX expressions will be removed or will break.