Power BI Migration Databricks AI/BI Guide

Power BI to Databricks AI/BI Migration: The Practical Guide for 2026

October 2, 2026

Moving a Power BI report to Databricks AI/BI means taking its semantic model and DAX measures into Unity Catalog tables and metric views, rebuilding its pages as AI/BI dashboards over SQL datasets, and turning its RLS roles into Unity Catalog row filters that only bite under the right publish mode. It is a different job from connecting Power BI to Databricks as a data source, which many teams keep doing for the reports they do not move. Three names to have straight: AI/BI dashboards were renamed from Lakeview dashboards in April 2024 and took the AI/BI name that June, while the API still says Lakeview; the older Databricks SQL dashboards, called legacy dashboards at the end, reached end of life in March 2026; and Genie Code is the agent that, among other things, imports BI files.

Why teams move from Power BI to Databricks AI/BI

The data is already there. When the tables Power BI imports every night are Delta tables in Unity Catalog, the import model is a second copy with its own refresh schedule, gateway and capacity, and the measure definitions live in a .pbix rather than next to the data they describe. Databricks bills the compute under a dashboard rather than a seat; its business intelligence page says there are no additional license fees for AI/BI and standard DBU rates apply. Governance consolidates, with row filters, column masks, lineage and audit once in the catalog instead of once per semantic model, and viewer count becomes a capacity question rather than a license line (the comparison page has the current terms). The counterweight is real. Power BI remains stronger at pixel‑level formatting, paginated reports (pixel‑exact printable output) and the Excel workflow around them. A Power BI report on DirectQuery with single sign‑on already respects Unity Catalog permissions, and Databricks can publish Unity Catalog tables as a Power BI semantic model. Many estates end with both; this page is about the dashboards you decide to move.

What a Power BI report becomes in Databricks AI/BI

Two Databricks words first: a dataset is the SQL query a dashboard reads, and a metric view is a measure definition kept in Unity Catalog, or locally inside a dashboard, instead of inside a report. Three limits shape how a report is split, as of September 2026: 15 pages per dashboard, 100 datasets per dashboard and 100 widgets per page. In the tables, "converts" means the construct exists on both sides, "with review" means a person decides something, and "redesign" means there is no object to convert into.

Power BIDatabricks AI/BINote
Report (.pbix, PBIP) with pagesOne or more dashboards with pagesA sprawling report becomes several dashboards
VisualVisualization widgetCharts, counters, tables, pivots, maps; a gauge becomes a counter
Semantic model: tables and relationshipsUnity Catalog tables or views, with the joins in a local or Unity Catalog metric viewMeasures defined once
Measure (DAX)Metric‑view measure, calculated measure, or a dataset SQL columnPer measure (next section)
Calculated column, calculated tableDataset SQL column or calculated dimension; a Unity Catalog viewRow‑level logic in SQL
Calculation group, field parameter (Power BI's measure and field switchers)Dashboard parameter plus CASE in dataset SQLNo switching object; redesign
Import mode, DirectQueryDataset SQL on a SQL warehouse; a schedule warming the 24‑hour cache, materialized viewsNo model copy exists
Power Query (M)Upstream views or pipelines in Unity Catalog; light transforms in dataset SQLOutside the dashboard
Slicer, synced slicersField filter: single or multiple values, date range, text, slider; global or page‑levelFilters span datasets by field
Cross‑highlight, drillthrough pageCross‑filtering between widgets on one dataset; drill‑through to a target pageListed chart types only
BookmarkFilter state carried in the URL; no saved‑state objectRedesign
Custom visual (AppSource)Vega‑Lite custom visualization (Public Preview), or a native widgetRedesign
RLS roleUnity Catalog row filter, column mask or dynamic view, with Individual data permissionsSection below
SubscriptionSchedule and subscription: PDF with CSV or Excel by email, PNG to Slack or TeamsThe schedule also re‑runs the datasets
Paginated report, report page tooltipNo documented equivalentStays in Power BI or is redesigned

Why the measures move before the pictures

A Power BI report carries its own semantics: the measures live in the model that ships inside the .pbix. Databricks AI/BI assumes the opposite. A dashboard reads datasets, dataset queries are read‑only SQL, and the arithmetic exists before the chart does. Build three layers: base views in Unity Catalog that join and clean the source tables, metric views holding the measures and the fields they can be grouped by, and dashboard datasets on top that query them with MEASURE(total_sales) grouped by whatever fields a widget needs. Local metric views inside a dashboard let you define measures and join relationships visually and export them to Unity Catalog later, the natural landing place for a small report's model. There is no model copy to refresh: an Import‑mode model's job splits between the dashboard result cache, 24 hours, best effort, warmed reliably only by a schedule, and materialized views for aggregations that are expensive to recompute.

Converting DAX to SQL and metric‑view measures

Rows run from the patterns that translate directly to the ones that are rebuilt. A DAX measure is evaluated in a filter context the visual assembles at query time; a metric‑view measure is evaluated against the fields in the widget plus whatever the dashboard filters pass down.

DAX patternDatabricks shapeFate
Plain aggregate, DIVIDEMetric‑view measure: SUM(amount), TRY_DIVIDE(SUM(a), SUM(b))Converts
CALCULATE with a column filterSUM(amount) FILTER (WHERE color = 'Blue')With review: CALCULATE replaces an existing filter, FILTER intersects with it
CALCULATE with ALL or REMOVEFILTERS (share of total)SUM(amount) AGGREGATE OVER (PARTITION BY * EXCEPT (region))With review: which filters it ignores
CALCULATE with ALLEXCEPT (per‑entity total)SUM(amount) OVER (PARTITION BY customer_id) on rows pre‑aggregated in a CTEWith review: on fact rows it repeats the total and widgets double‑count
Context transition (a row‑by‑row evaluation turned into a filter), iterators over VALUESAggregate at one grain in a CTE, then aggregate againWith review: double counting in pivots
Time intelligence: DATESYTD, SAMEPERIODLASTYEARAGGREGATE OVER (PARTITION BY * ORDER BY month CUMULATIVE) with the year in the widget's grouping, or a window partitioned by year in dataset SQL; TRAILING 12 MONTH for rolling periodsWith review: needs a date dimension
Calculation groupOne measure per item, or a parameter and CASERedesign
RANKX, WINDOW, OFFSETRANK() OVER, LAG, QUALIFY in dataset SQLWith review

Behind the review rows: custom calculations give you the two LOD shapes that matter, Fixed (OVER (PARTITION BY dims)) and Coarser (AGGREGATE OVER (PARTITION BY * EXCEPT (field))); there is no named form for adding dimensions the way an iterator does in DAX, so those are modeled in dataset SQL. Custom calculations are scoped to one dataset, capped at 200 per dataset, and table visualizations do not render calculated measures, so a measure that feeds a table goes into the dataset SQL or the metric view. The LOD expressions to Databricks SQL page works the same window‑function mechanics from the Tableau side.

Row‑level security becomes Unity Catalog

A Power BI RLS role is a DAX filter with members assigned in the service. In Databricks the rule moves to the data: a row filter is a SQL function attached to the table that evaluates each row at query time, usually with is_account_group_member() against the account groups your Entra groups sync into, and a column mask covers what object‑level security did. Whether a viewer feels it depends on how the dashboard is published. Under Individual data permissions, viewers run queries with their own credentials and the filters apply per person; under Share data permissions, the default, every viewer sees the publisher's view. A dashboard that carried RLS in Power BI has to be published in the individual mode. The Genie companion reads the dashboard's datasets under the same publish mode: with shared permissions it sees the publisher's rows, including ones no widget shows, so restricted datasets need the individual mode for that reason too. Row‑level security to Unity Catalog goes through the publish modes in detail.

Databricks' own import, and where a migration tool fits

Databricks ships an importer. Genie Code's /importBI command accepts a Power BI template, a .pbit file, alongside Tableau workbook and data source files, and builds an AI/BI dashboard connected to local metric views, creating dashboard relationships where it finds them in the source. A template is exported from Power BI Desktop and holds the model definition, the queries and the pages without any data, which is why it is the accepted format and a .pbix is not. Direct uploads are capped at 100 MB, the agent works conversationally and asks for a screenshot for layout fidelity, and the documentation carries no list of which DAX constructs convert, so checking what each report lost stays with you.

Phases and validation

PhaseWhat it producesWhere it goes wrong
InventoryEvery report with its pages, measures, sources and viewersCounting reports instead of the pages people open
Land the dataThe tables each report needs, reachable through Unity Catalog as Delta tables or federated foreign tablesTreating this as dashboard work; it is a data platform project and comes first
ModelBase views and metric views with the DAX translatedTranslating into each dashboard's SQL instead of once
Build the dashboardsOne dashboard per report or per page, filters and drill‑through rebuiltRedesigning while converting
ValidateMeasures tied out under filters and per viewer, in the publish mode you will shipTesting the draft, where the viewer's own permissions always apply
Cut overViewers moved, schedules set, the Power BI workspace read‑onlyBoth platforms live indefinitely

Validate in the published dashboard, not the draft: for a draft the viewer's own data permissions always apply, so a security check that passes there can fail in a dashboard published with shared permissions. Reconcile at the grand total, then under the filter combinations users actually apply, then per role; year‑to‑date and share‑of‑total measures are where the two platforms part ways. Microsoft's scanner APIs, once an admin enables them, supply the inventory, measures and their DAX included, and a report saved as a Power BI project holds the same definitions as plain‑text files.

What Antares does on this route

Everything above holds whichever tool you use; this section is about Antares, a BI migration tool listed on the Databricks Marketplace. The Analyzer is free, and its Power BI side is generally available: upload a .pbix file or a zipped PBIP project, one report per analysis, choose Databricks AI/BI as the target, and it returns a complexity score, a migration difficulty score for AI/BI, the main considerations and a component inventory. A .pbix can carry imported data; the Analyzer works from the report and model structure and does not copy data rows into its results. Measures are rated on what makes them hard to move, with context transition, measure switching and windowed ranking at the top, and an expression the parser cannot read is left unclassified rather than scored.

Conversion from Power BI to Databricks AI/BI is in private beta and is not self‑serve; the Converter page takes requests for beta access, and the home page keeps the current list of routes. Antares is not a data migration tool: it does not move data into Delta tables or build the lakehouse, and the tables have to be reachable through Unity Catalog first. Run the free Analyzer on a report to see what moves.

Related reading: Tableau to Databricks AI/BI, Power BI to Tableau, AI/BI next to Tableau and BI migration approaches. Primary sources: Databricks on datasets, metric views, custom calculations, row filters and column masks, publishing and sharing and importing BI files; Microsoft on CALCULATE, templates and row‑level security.

Related Migration Resources

Frequently asked questions

What has to be in Unity Catalog before a Power BI report can move to Databricks AI/BI?

Every table the report's semantic model reads has to be reachable through Unity Catalog, as a Delta table or a federated foreign table, because dashboard datasets are SQL run on a SQL warehouse against the catalog. Getting them there is a data platform project that runs ahead of the dashboard work; a migration tool converts the report and its measures, it does not load tables or build the lakehouse.

Does Databricks import .pbix files?

Not as of October 2026. Genie Code's import command lists .pbit, the Power BI template format, which holds the model, queries and pages without data. Export one from Power BI Desktop and the importer builds a dashboard with local metric views. The documentation does not say which DAX constructs survive, so the result is checked report by report.

What happens to DAX measures in Databricks AI/BI?

They become SQL: measures in a metric view, calculated measures on a dataset, or columns in dataset SQL. Plain aggregates translate directly. Share‑of‑total and per‑entity patterns become window functions or AGGREGATE OVER expressions, time intelligence needs a date dimension and a cumulative window partitioned by year, and calculation groups are rebuilt one item at a time.

Does Power BI row-level security carry over to Databricks dashboards?

The rules are rebuilt as Unity Catalog row filters and column masks, so they apply to every tool that reads the table, not only the dashboard. They take effect for viewers only when the dashboard is published with Individual data permissions; under the default Share data permissions everyone sees the publisher's view.

Can we keep Power BI and point it at Databricks instead of migrating?

Yes, and many teams do for part of the estate. Power BI connects to a SQL warehouse through Partner Connect or the connector, DirectQuery respects Unity Catalog permissions, and Databricks can publish tables as a Power BI semantic model. Migration makes sense for dashboards whose measures should live in the catalog or whose viewer population makes per‑seat licensing the larger cost.

Can Antares convert Power BI reports to Databricks AI/BI today?

Analysis is available and free: upload a .pbix or a zipped PBIP project and get a complexity score and a migration difficulty score for Databricks AI/BI. Conversion on this route is in private beta rather than self‑serve; the Converter page takes requests, and the home page shows the current status of every route.

Let's talk migration.

Get your free Migration Readiness Score, or talk to our team about end-to-end delivery.