Power BI Migration Tableau Guide

Power BI to Tableau Migration: What Moves, What Is Rebuilt

October 2, 2026

A Power BI to Tableau migration moves three things: the report pages people open, the semantic model and the DAX measures behind them, and the row‑level security roles that decide who sees which rows. None of it moves as a file. Tableau Desktop does not open a .pbix, Power BI has no export to Tableau, and as of October 2026 neither vendor ships an importer for the other's format, so every report is regenerated from what its definition describes. This guide covers that direction; the opposite move, Tableau to Power BI, has its own guide.

Why teams move from Power BI to Tableau

Rarely for price: Power BI Pro is usually the cheaper seat and is included in some Microsoft 365 plans. The usual reason is a consolidation after a merger in which the larger business already runs Tableau. Behind it come a Salesforce‑centered organization that wants analytics next to its CRM, a data platform that is not on Azure, where Entra groups, gateways and Fabric capacity stop being conveniences, and an analyst culture that prefers Tableau's worksheet model. Two scope facts belong in the first conversation: Tableau has no native counterpart to paginated reports, so pixel‑exact printouts stay in Power BI Report Builder, and most estates hold reports nobody has opened in months, which the inventory removes before anything is converted.

What a Power BI report becomes in Tableau

The unit changes first: a report holds pages, a workbook holds dashboards, and every visual on a page becomes a worksheet of its own. "Converts" means the construct exists on both sides, "with review" means a person decides something, and "redesign" means Tableau has no object to convert into. Power BI's own dashboards, the canvas of pinned tiles, have no counterpart; the report page is what a Tableau dashboard corresponds to.

Power BITableauFate
Report (.pbix, PBIP) with pagesWorkbook (.twb, .twbx) with dashboardsConverts; one page becomes one dashboard
VisualWorksheet placed on the dashboardConverts; a twelve‑visual page is twelve worksheets
Semantic model: tables and relationshipsData source with relationships or joins; published if sharedWith review: cardinality and filter direction
Import mode, DirectQueryExtract (.hyper) on a refresh schedule, live connectionConverts
Calculated column (DAX, row level)Row‑level calculated fieldConverts; RELATED becomes the related field
Composite model, calculated tableNo equivalent; a view in the sourceRedesign
Power Query (M)Tableau Prep flow, custom SQL, or logic moved into the warehouseWith review
Measure (DAX)Aggregate calculated field, LOD expression or table calculationWith review, per measure
Calculation group, field parameterParameter plus a CASE calculation; dynamic zone visibility for sheet swappingRedesign
RLS roleUser filter on a published data source, or an entitlement tableRedesign (below)
Slicer, synced slicersQuick filter applied to all sheets using the data sourceConverts
Cross‑highlight, drillthrough pageHighlight action; filter action to a target dashboardWith review
BookmarkParameter action plus dynamic zone visibility; Show/Hide buttonsRedesign
Report page tooltipViz in TooltipConverts
Custom visual (AppSource)Viz Extension from Tableau Exchange, or native marksRedesign
Workspace, app, Entra groupsProject, site, Tableau groupsRebuilt, not copied

Where the model lands

Power BI assumes a star schema with explicit relationships and one shared model. Tableau's relationships are the counterpart: tables keep their own level of detail and Tableau picks join types at query time from the fields in the view, which is what a Power BI model does implicitly. Two things do not carry over. Circular relationships are not supported and relationships cannot be defined between published data sources, so two paths to a date table, or an inactive relationship switched on by USERELATIONSHIP, become a role‑playing copy of the dimension or a second data source. Several fact tables map to a multi‑fact relationship data source (Tableau 2024.2 and later). Publish the data source first and build workbooks on it; it is also where the user filters have to live.

Converting DAX measures: the part that sets the budget

Measures, not visuals, set the hours. A DAX measure is evaluated in a filter context assembled from the visual, the slicers and the model; a Tableau calculation is evaluated at the level of detail of the view, and LOD expressions and table calculations exist to step outside it.

DAX patternTableau shapeFate
Plain aggregate: SUM, DISTINCTCOUNT, DIVIDEAggregate calculated field: SUM([Amount]) / COUNTD([Customer])Converts
CALCULATE([Sales], 'Product'[Color] = "Blue")SUM(IF [Color] = "Blue" THEN [Amount] END)With review: CALCULATE replaces an existing Color filter, IF intersects with it
CALCULATE with ALL or REMOVEFILTERS (share of total){EXCLUDE [Region] : SUM([Amount])} or a TOTAL() table calculationWith review: which filters it ignores
CALCULATE with ALLEXCEPT (per‑entity total){FIXED [Customer] : SUM([Amount])}With review: which slicers survive differs
Context transition: CALCULATE inside SUMX over VALUESNested LOD: AVG({INCLUDE [Customer] : SUM([Amount])})With review: INCLUDE keeps the view's filters
Time intelligence: DATESYTD, SAMEPERIODLASTYEARRUNNING_SUM or LOOKUP table calculations, or a date‑range LODWith review: needs the dates in the view
Calculation group item: CALCULATE(SELECTEDMEASURE(), DATESYTD(...))A parameter and a CASE calculation, repeated per base measureRedesign
WINDOW, OFFSET, RANKX, visual calculationsTable calculations with explicit partitioning and addressingWith review

The review rows share one cause, Tableau's order of operations. A FIXED expression ignores every filter in the view except context, data source and extract filters, while ALL and ALLEXCEPT clear only the filters on the table or columns you name and leave every other slicer in force. The same measure therefore keeps different slicers alive on each platform, and which ones it should keep is a decision per measure, not a translation; the LOD to DAX page works through FIXED, INCLUDE and EXCLUDE from the other side. Time intelligence is the second trap: a DAX year‑to‑date works on a card with no dates on it because CALCULATE rewrites the filter context, while a table calculation computes on the marks in the view and needs the months present. Calculation groups get their own line in the estimate: 8 time‑intelligence items over 20 measures are 160 effective measures, and as many calculations, or one parameter‑driven CASE per base measure, in Tableau.

Row‑level security: roles become user filters

Power BI row‑level security is a DAX filter per role, with members assigned in the service, usually through Entra groups, and it applies only to viewers. Tableau has no role object. The same outcome is a user filter: a calculation such as [Region Owner] = USERNAME() or ISMEMBEROF('EMEA'), or an entitlement table joined to the data, set as a data source filter on a published data source. Placement matters: Tableau's guidance says that if the data source is embedded and a user can web edit or download the workbook, the row‑level security is nonexistent, because the filter can be removed. With the Data Management add‑on, a virtual connection with a data policy centralizes the filter across every workbook, the closest thing to roles managed in the service. Dynamic rules on USERPRINCIPALNAME() map well on Tableau Cloud, where usernames are email addresses; Tableau Server usernames can differ, and static roles with hard‑coded values map to Tableau groups. Test every role before cutover, because the row count per role is the first thing an auditor asks for.

Interactions: drillthrough, bookmarks and field parameters

A drillthrough page becomes a filter action aimed at a detail dashboard and set to exclude all values when cleared, so the target stays empty until something is clicked. Bookmarks have no object to convert into: a bookmark captures filters, slicer state, sort order, drill location and the visibility of objects, and Tableau rebuilds that with a parameter action driving dynamic zone visibility, where a boolean, single‑value, view‑independent field shows or hides a zone. Field parameters become a parameter with a CASE calculation for measure swapping, or a dynamic‑zone sheet swap for dimensions. Custom visuals from AppSource do not run in Tableau; the nearest thing is a Viz Extension, and most are redrawn with native marks. Count these per report: a page of standard charts can still owe most of its hours to two bookmarks and a custom visual.

Phases, and how to validate the result

PhaseWhat it producesWhere it goes wrong
InventoryEvery report with its pages, measures, sources and viewersCounting workspaces instead of the pages people open
Prune and scoreThe shorter list that moves, scored on measures, model shape and interactionsScoring on visual count
Publish the data sourcesPublished data sources with relationships and user filters in placeEmbedding a data source in every workbook
Convert the calculationsCalculated fields, with the review items flagged for a decisionTranslating text and trusting the total
Rebuild the dashboardsOne dashboard per report page, interactions built from actionsRedesigning while converting
Validate and cut overNumbers tied out under filters and per role; Power BI set read‑onlyChecking totals only

Once an admin enables them, Microsoft's scanner APIs return the measures with their DAX and the queries of every semantic model, enough to score an estate before anyone opens a report, and a report saved as a Power BI project (PBIP) holds the same definitions as plain‑text files. Validation is the longest step. Reconcile agreed measures at the grand total and then under the slicer combinations users actually apply, because the "with review" patterns agree at the top and part ways below it; check year‑to‑date figures at a period boundary; open each dashboard as a user in each role. Explain every difference rather than adjusting until the platforms agree, and expect a few to be defects in the Power BI original that the move made visible.

What Antares does on this route

Everything above holds whichever tool you use; this section is about Antares. 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, pick Tableau as the target, and it returns a complexity score, a migration difficulty score for Tableau, the main considerations for the move 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. Its DAX rating follows this page: measures built on context transition, measure switching or windowed ranking are rated hardest, iterators, table expressions and relationship functions sit in the middle, plain filters and time intelligence are light, and an expression the parser cannot read is left unclassified rather than scored.

Conversion from Power BI to Tableau 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 and their status. Antares converts dashboards and the semantic logic inside them, not data; the tables Power BI read stay where they are and Tableau connects to them. Run the free Analyzer on a report to see where its hours are before committing to a date.

Related reading: the vendor‑neutral BI migration guide, LOD expressions and DAX, table calculations and DAX; for a Databricks target, Power BI to Databricks AI/BI. Primary sources: Microsoft on CALCULATE, calculation groups, field parameters and row‑level security; Tableau on relationships, row‑level security, LOD expressions and dynamic zone visibility.

Related Migration Resources

Frequently asked questions

Can a Power BI report be converted directly into a Tableau workbook?

No. Tableau Desktop does not open .pbix or PBIP files, and Power BI has no export to Tableau. What moves is the definition: the semantic model, the DAX measures, the page layouts and the RLS roles, which a person or a conversion tool reads and rebuilds as a Tableau data source and workbook. Pointing Tableau at the same database is a separate task from migrating the reports.

Is there a Power BI to Tableau migration tool?

Neither Microsoft nor Tableau ships one. Third‑party conversion tools regenerate workbooks from the report definition and leave review to people; Antares offers a free Analyzer for Power BI reports and has conversion to Tableau in private beta. Whatever tool is used, DAX measures with context transition, calculation groups, bookmarks and custom visuals still need a decision per item.

How do DAX measures translate to Tableau calculations?

Plain aggregates become aggregate calculated fields. CALCULATE with ALL or ALLEXCEPT becomes an EXCLUDE or FIXED level-of-detail expression, and because the two platforms keep different filters alive, each one is checked under the slicers users actually set. Time intelligence becomes table calculations or date‑range LODs, and calculation groups have no equivalent, so each item is rebuilt as a parameter‑driven calculation.

How does Power BI row-level security map to Tableau?

A Power BI role is a DAX filter with members assigned in the service. Tableau builds the same result from a user filter, a calculation using USERNAME() or ISMEMBEROF(), or an entitlement table, applied as a data source filter on a published data source. The published data source matters: a filter inside an embedded workbook can be removed by anyone allowed to edit or download it.

What replaces bookmarks and drillthrough in Tableau?

Drillthrough becomes a filter action aimed at a detail dashboard, set to exclude all values when cleared so the target starts empty. Bookmarks have no direct counterpart; the saved state of filters, sort and object visibility is rebuilt with parameter actions and dynamic zone visibility, plus Show/Hide buttons on layout containers. Both count as design work in the estimate.

Can Antares convert Power BI reports to Tableau today?

Analysis is available now and free: upload a .pbix file or a zipped PBIP project and get a complexity score and a migration difficulty score for Tableau. Conversion from Power BI to Tableau is in private beta rather than self‑serve; the Converter page takes requests for access, and the home page lists 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.