Move from Power BI

Export your Power BI work with unshackle, then use a coding agent and Querio CLI to rebuild and check it in Querio.

Rebuild a Power BI report in Querio using its semantic model, measures, filters and report definitions as the starting point.

Already exported? Go straight to Move exported work to Querio.

1. Prepare access

Install unshackle and run the commands below from your analytics Git repository.

  • For API export: POWERBI_TENANT_ID, POWERBI_CLIENT_ID and POWERBI_CLIENT_SECRET, or an existing POWERBI_ACCESS_TOKEN.
  • Service-principal access must be enabled in Fabric tenant settings. Add the app to the source workspace as Member or Contributor; Viewer is insufficient for this export.
  • If the report uses a semantic model in another workspace, include access to that workspace too. POWERBI_WORKSPACES can restrict the export to named workspaces or IDs.

2. Export one report

unshackle check powerbi --prompt
unshackle inventory powerbi
unshackle migrate powerbi --only report:REPORT_ID
unshackle todo

Replace REPORT_ID with the selected item's ID from inventory. The credential prompt saves values to a local, git-ignored .env; keep those values out of agent prompts.

Read migration/report.md for missing dependencies, extraction errors and unfinished translations before continuing.

Using exported files instead

In Power BI Desktop, save the report as a Power BI project (.pbip) with its semantic model in TMDL format:

unshackle init
unshackle import powerbi "Sales Overview.pbip"
unshackle build powerbi
unshackle todo

Import the project with its associated folders. .pbix and .pbit files are not accepted directly. For a .pbix workbook, open it in Desktop and save it as a project first. File exports omit service dashboards, role membership and usage.

3. Review what needs adapting

  • DAX depending on visual filter context, such as ALLSELECTED, and advanced iterators or relationship functions need review.
  • Power Query transformations beyond selecting a table may need SQL or dbt models.
  • Review slicer behavior, matrix columns and unsupported custom visuals. Exported RLS roles still need access configured in Querio.

Export a visual's data or run its DAX against the source model. Record the slicer selections, date window and RLS identity, then compare both detail rows and totals. The same measure can behave differently at different grouping levels.

4. Rebuild and check it in Querio

Open the repository in Claude Code, Codex or your preferred coding agent. Give it this brief:

Read https://docs.querio.ai/llms/guides/move-bi-workflow/already-unshackled.md.
Use this repository's Power BI export to rebuild REPORT_NAME in Querio.
Pay attention to DAX filter context, slicers, Power Query transformations
and row-level security.
Ask me for the target workspace, datasource and a trusted source result.

Replace REPORT_NAME with the report you chose. Follow Move exported work to Querio for CLI authentication, the full agent task, verification and sharing. Check the rebuilt Querio output against your source result before using it as a replacement.

For export settings and the full list of translation gaps, see unshackle's Power BI guide.

Was this page helpful?

Last updated on October 28, 2026

On this page