Open-source alternatives to Power BI for self-hosted analytics

Apache Superset and Metabase fit most Power BI replacements; Lightdash suits teams that want a Git-based semantic layer. Here is what each option covers, what you give up and what a move involves.

On this page

Which open-source alternatives to Power BI fit your situation

If your Power BI renewal, a Fabric capacity change, a Report Server decision or a data residency requirement is forcing the question, Apache Superset and Metabase are the main self-hosted replacements. Lightdash fits teams that want their metric definitions in code and a semantic layer first, and Grafana fits operational dashboards built on time-series and monitoring data more than business reporting. Each of these runs in your own cloud account, data center or air-gapped network, so the choice depends on what your users build and where your data already lives.

Teams usually start looking when the cost model changes. Microsoft documents that Power BI Report Server, the on-premises option, needs a product key from Power BI Premium, Fabric F64 or larger capacity, or SQL Server. Microsoft Learn also describes Power BI Premium P SKUs (P1 to P5) as mapping to Fabric capacities F64 to F1024, and states that P SKUs include a license to install Power BI Report Server. Before you decide, confirm with Microsoft which SKU, capacity size and SQL Server edition your current agreement actually covers, and whether a planned change moves you across one of those thresholds.

The second step is to check which of those dependencies your organization really needs. If on-premises reporting is the requirement, list which reports depend on Report Server, which depend on the Power BI service, and which use features tied to a specific capacity. Ask your Microsoft account team for the exact entitlements and written renewal terms. That inventory tells you whether a self-hosted tool replaces the whole estate or only a subset, and it gives your procurement team a fixed comparison point.

Open-source options that replace Power BI, and when each fits

Power BI replacements differ mainly in where the modeling logic lives and who builds the content. The four options below cover a SQL-first analytics suite, a question-driven tool for business users, a dbt-centered metrics layer, and a monitoring-oriented dashboard platform, so the right fit depends on your data team and your reporting estate.

Apache Superset

Superset is a broad, SQL-first BI platform under the Apache-2.0 license, maintained at the Apache Software Foundation. It connects to any SQL datastore with a Python DB-API driver and SQLAlchemy dialect, stores its metadata in PostgreSQL or MySQL, and handles authentication through database, LDAP or OAuth via Flask AppBuilder. The main trade-off is that there is no direct DAX equivalent, so measures become SQL expressions or governed datasets. Check the connectors your warehouses need and plan the metadata database as a backed-up, highly available component.

Metabase

Metabase suits teams whose business users ask questions in a visual interface and need fast self-service dashboards. The free Open Source edition is self-hosted with unlimited users and dashboards, and its Docker image is separate from the enterprise image. The trade-off is open core licensing: the code outside the enterprise directory is AGPL-3.0, while enterprise code is under the Metabase Commercial License. SSO and row and column level permissions sit in paid plans, and air-gapped deployment is limited to the Enterprise plan, so confirm these needs before you commit.

Lightdash

Lightdash is a metrics layer that sits on dbt projects, so business definitions are written once in version-controlled code instead of rebuilt as DAX measures in each report. Code outside the packages/backend/src/ee directory is MIT licensed, while that directory carries a separate license. This fits teams that already run dbt and want metrics reviewed like software. The trade-off is that it depends on a dbt modeling discipline you may not have yet, and you should confirm which features your edition includes before relying on them for access control.

Grafana

Grafana is built for time-series and operational dashboards rather than financial or relational reporting, which makes it a complement to a BI suite instead of a full Power BI replacement. It was relicensed from Apache-2.0 to AGPL-3.0-only starting with version 8.0, so releases up to 7.5 remain Apache-2.0. Before adopting it, check that your reporting needs fit a dashboard tool, review how AGPL terms apply if you modify and offer the software to users, and confirm which data sources your reports require.

How Power BI capabilities map to open-source options

This table maps the Power BI capabilities most teams rely on to Apache Superset and Metabase, with notes on where each option needs extra work or a paid tier. Read the gap column first, since identity sign-in, row-level security and on-premises deployment are where migrations most often stall.

CapabilityApache SupersetMetabase
Report authoringChart and dashboard builder in the browser with SQL Lab for ad hoc queries; visual parity with Power BI report canvas needs rebuildingQuestion and dashboard builder for non-SQL users, with a SQL editor for analysts; complex layouts usually need rebuilding
Semantic models and DAX measuresNo DAX engine; measures become SQL expressions in datasets or should move to a dedicated semantic layer such as dbt metricsNo DAX engine; metrics are defined as reusable questions or in the data model, and calculations are rewritten in SQL
Scheduled refreshScheduled reports and cached datasets run through Celery workers, which you operate alongside the web tierScheduled subscriptions and alerts are available in the open-source edition; confirm refresh behavior for your sources
Row-level securityRow-level security rules are available in Superset; confirm the configuration against your data model and roles before go-liveRow and column level permissions sit in paid Starter and Pro plans, not the free Open Source edition
Workspace sharingRoles and permissions control dashboard access; map Power BI workspace roles to Superset roles during designCollections and group permissions cover sharing; the free edition supports unlimited users and dashboards
EmbeddingEmbedded dashboards are supported through the Superset embedding SDK; confirm licensing and token flow for your applicationEmbedding is available, but enterprise features such as SSO for embedded users depend on the plan you select
On-premises deploymentSelf-hosted in your own infrastructure with PostgreSQL or MySQL metadata storage; no vendor license key is requiredSelf-hosted open-source Docker image is available; air-gapped deployment is only offered on the Enterprise plan
Microsoft Entra ID sign-inHandled through OAuth or LDAP via Flask AppBuilder; Entra ID needs an OIDC or OAuth configuration, which you must confirm with your identity teamSSO is a paid feature on Starter and Pro plans; confirm the supported protocol for Entra ID before budgeting

What you give up when you leave Power BI and the usual workarounds

Moving off Power BI rarely fails on the charts themselves. It fails on the semantic layer, the refresh model and the files you planned to carry across. The cards below cover each gap, the workaround that usually closes it, and the point where the gap becomes a blocker.

DAX measures need a new home

Power BI calculates business logic in DAX measures inside the semantic model, and those measures do not run unchanged in Superset or Metabase. The usual workaround is to move each measure into a governed layer: SQL views, dbt metrics or Superset datasets with defined metrics. Inventory every measure first, sort them by how many reports depend on them, and test each rebuilt metric against figures the finance team already trusts. A measure that depends on filter context across many tables is a blocker until it is re-modeled.

Power BI-specific visuals and Q&A

Some visuals, custom visuals from AppSource and the natural language Q&A feature have no direct equivalent in the open-source tools. Superset and Metabase cover standard charts, tables and dashboards, and Metabase offers a question builder that business users can use without SQL. Confirm the exact chart types and any natural language querying your users rely on, and decide whether a standard chart can carry the same decision. Treat missing custom visuals as a blocker only when a regulator or contract requires that specific view.

Direct Lake and incremental refresh behavior

Direct Lake models read Delta tables in Fabric directly, and incremental refresh partitions large tables by date. Neither pattern has a one-to-one match in a self-hosted stack. The usual workaround is to materialize the data into PostgreSQL, MySQL or a warehouse your team controls, then schedule refresh jobs with dbt or the database's own tooling. Measure how long your largest tables take to refresh on the new stack and whether the refresh window still meets business hours. Long refresh windows on very large tables are a blocker until the pipeline is redesigned.

The .pbix export limits

Microsoft lists three cases where a Power BI report or semantic model cannot be downloaded from the service with its data: Direct Lake models, models with incremental refresh, and models larger than 50 GB. Workspace Contributors can download the other models as .pbix files, so an export is possible for many reports but not all. Inventory each semantic model against these three conditions before planning the migration, and keep the source queries and data pipelines as the authoritative copy, since the .pbix file alone may not contain the data you need.

Rebuilding report layout and access

Report pages, bookmarks, drill-through paths and row-level security roles all need to be recreated in the target tool. Row-level security in Power BI is defined in the model, so it must be reproduced in the database views, Superset row-level security rules or Metabase permissions. Confirm which access rules your auditors and data owners depend on, and test each rule with a sample user from every role before cutover. Row-level rules that cannot be expressed in the target tool are a blocker for that dataset.

How a Power BI migration runs, step by step

This sequence turns an undocumented Power BI estate into a tested, self-hosted replacement with a clear record of what moved, what was rebuilt and what was retired. Each step closes with an artifact you can check before moving on.

  1. Inventory workspaces, reports and semantic models

    Your team lists every workspace, report, dashboard, dataset or semantic model, data source, refresh schedule and business owner, and flags which items depend on Premium or Fabric capacity features. DeployOpen can run the inventory with you, but Microsoft Entra ID administrators must grant read access to the Power BI admin and tenant views, and the owners of each workspace must confirm who uses each item. The step is complete when every item has an owner, a usage status (active, seasonal or retired) and a target decision.

  2. Export .pbix files and document the exceptions

    Workspace Contributors download .pbix files where Microsoft allows it. Microsoft's documentation lists exclusions: Direct Lake models, models with incremental refresh and data models larger than 50 GB cannot be downloaded with their data, so those items need a separate record. For each excluded item, document the source tables, queries, refresh logic, row-level security rules and visuals in a spreadsheet or specification. The step closes when every item is either exported and checksummed or has a written specification approved by its owner.

  3. Map DAX measures to SQL or metric definitions

    Engineers translate each DAX measure and calculated column into SQL views, dbt metrics or Superset datasets, depending on the target design. Time intelligence, filter context and row-level security are the most common points of drift, so each translated measure is tested against the Power BI value for the same filter and date range. The data source access needed for this work comes from the database owners, not from Microsoft. The step is complete when a reconciliation report shows matching results for an agreed set of key metrics.

  4. Pilot one business domain

    Choose one business domain with a clear owner, moderate report count and no regulatory deadline inside the pilot window. Deploy the self-hosted platform in your own environment, connect it to the agreed data sources, configure authentication and rebuild the chosen reports. Business users test the outputs against the Power BI originals. The pilot is complete when the domain owner signs off on accuracy, access rules and performance, and the open issues list is short enough to schedule.

  5. Run the new platform in parallel with Power BI

    Both environments serve the same questions for an agreed period, and the team compares refresh results, query outputs and user access against each other. Differences are logged with a root cause and an owner. This stage confirms that the sign-in path works through Microsoft Entra ID or your chosen identity provider and that access groups match the source system. The step closes when discrepancies are resolved or accepted in writing and the comparison log has no open high-severity items.

  6. Cut over users and communicate the change

    Users, bookmarks, subscriptions and embedded links move to the new platform in the order set by the pilot. Your team redirects published links, retires scheduled refreshes in Power BI and sets a read-only period for the old reports. Support staff use a short runbook for common access and data questions. The step is complete when the cutover checklist is signed by the business owners and no active consumer depends on a Power BI refresh schedule.

  7. Decommission Premium or Report Server licensing

    Once the retirement criteria are met, your procurement and licensing team confirms with Microsoft which capacity, Premium or Report Server product key, or SQL Server licence is no longer needed, and gives notice according to the agreement. Archive the final .pbix files, documentation and reconciliation records under your retention policy. Ask Microsoft or your reseller to confirm the exact notice and renewal terms for your agreement, since these vary by contract. The step is complete when licences are released and the archive is verified.

Which option fits by situation: renewal, residency, Report Server or lock-in

When a Fabric or Power BI Premium capacity renewal is the trigger, the question is whether the reports need a capacity at all. Microsoft documents that Power BI Premium P SKUs (P1 to P5) map to Fabric capacities F64 to F1024, so a renewal priced on capacity is a different cost shape from per-user licensing. Apache Superset is usually the strongest fit for teams that want a broad, self-hosted BI surface with no per-user platform fee, because it is licensed under Apache-2.0 and connects to any SQL datastore with a Python DB-API driver and SQLAlchemy dialect. Metabase is a closer fit for teams that want a faster path to self-service questions and dashboards.

  • Capacity-bound workloads: Identify which workspaces drive the capacity size, since those are the first candidates for migration.
  • Per-user features: Metabase's free Open Source edition has unlimited users and dashboards, while paid Starter and Pro plans add SSO and row and column level permissions.
  • Superset setup: Plan for metadata storage in PostgreSQL or MySQL and an authentication layer through Flask AppBuilder.
  • Parallel running: Keep the capacity until the migrated content is verified, so the renewal date does not force a cutover.
  • Quote scope: Ask any partner for a fixed scope covering the workspaces, data sources and users in the migration.

Before you renew, confirm with Microsoft which capacity SKU your current workloads actually need.

How Microsoft Entra ID sign-in carries over to a self-hosted stack

A self-hosted BI tool does not inherit your Microsoft Entra ID tenant. Each product needs its own identity configuration, usually OpenID Connect (OIDC) or SAML pointed at your Entra ID application registration, and the team has to decide how Entra groups map to roles inside the tool. In Power BI, workspace roles and the Entra groups behind them carry access. In a self-hosted stack, that mapping must be rebuilt explicitly, or users will either lose access on cutover or receive more access than they had. Write down the current group-to-role matrix before the pilot starts, and decide which groups become admin, editor and viewer roles in the new tool.

Apache Superset offers more built-in options. Its authentication runs through Flask AppBuilder, which supports database, LDAP and OAuth authentication, so an OAuth or OIDC integration with Entra ID is a configuration task in superset_config.py rather than a custom build. Metabase is different: single sign-on is a paid feature. The Open Source edition is free to self-host with unlimited users, but SSO sits on the Starter and Pro plans, so the identity requirement can change the license decision. Lightdash and Grafana each need their own check. Confirm the exact Entra ID steps, redirect URIs, claim names and group handling against each product's documentation and test them in your own tenant, because these details change between releases.

Plan for two risks. The first is an account that exists in both systems with different roles after cutover, so disable Power BI access only after the self-hosted group mapping has been tested with real users. The second is service accounts used for database connections, which should use a secret store with rotation, not a shared login copied into dashboard settings. Ask your identity team to confirm how group membership changes propagate, how deprovisioning works when a user leaves, and whether your security policy requires MFA enforcement at the Entra ID layer for every BI sign-in path.

Questions buyers ask before moving off Power BI

How much does it cost to move off Power BI?

The cost depends on the licence you are leaving, the size of your estate and who does the work, so no single number applies. Power BI costs sit in several places: Pro or Premium per-user and capacity licences, or a Fabric capacity, plus, for on-premises, Power BI Report Server, which requires a product key from Premium, Fabric F64 or larger, or SQL Server. The open-source side has its own components: hosting, a database for application metadata, the BI tool's infrastructure, and engineering time to rebuild reports and measures. Most of the cost is labour, and it is driven by the number of reports, the complexity of DAX measures, the number of data sources and how much governance you need to keep. Ask any provider for a quote built from a written scope that lists these items separately.

How long does a Power BI migration take?

The timeline is set by inventory, rebuild effort and validation rather than by the tool installation. Installing Apache Superset or Metabase is usually the quickest step. The longer work is listing every report, semantic model, dataset, refresh schedule and data source, deciding which items to keep, rebuilding the logic and comparing outputs with the originals. Teams with many dependent reports or heavy DAX usually need more time for reconciliation. A fixed timeline should come from a written scope that names the report count, the sources and the acceptance checks, not from a generic estimate.

Can our team migrate off Power BI without outside help?

Many internal teams can run a pilot without outside help, especially if they already administer a database, Docker or Kubernetes, and a single identity provider. Harder parts include reconciling measures that depend on filter context, setting row-level security so it matches your current model, and documenting controls for auditors. Ask yourself who will own the platform after launch, who patches it, who backs it up and who answers when a dashboard breaks. If those roles are not clear, a fixed-scope engagement can cover planning, implementation, hardening, backup and documentation, with ongoing support available as a retainer.

How do I export .pbix files, and what about models over 50 GB?

Workspace Contributors can download reports and semantic models from the Power BI service as .pbix files, which open in Power BI Desktop. Microsoft lists limits: Direct Lake models, models with incremental refresh and data models larger than 50 GB cannot be downloaded with their data. For those, export the report definition and rebuild the model from the source tables, and confirm current limits with Microsoft before you plan. Keep a written inventory of which items fall into each category, since these are the items most likely to need manual rebuilding.

Can Apache Superset or Metabase replace DAX measures?

Neither tool runs DAX, so measures must be rewritten. Superset works with any SQL datastore that has a Python DB-API driver and SQLAlchemy dialect, and it lets analysts define virtual datasets and metrics in SQL. Metabase lets users build questions and models with a query builder or SQL, and it supports a semantic layer through models and metrics. Simple sums and counts translate easily. Time intelligence, many-to-many relationships and context-sensitive calculations need design work in SQL or in a transformation layer such as dbt. Check each measure against your current figures before retiring the original report.

What does Microsoft Entra ID sign-in require for a self-hosted BI tool?

Entra ID sign-in requires a federation or OpenID Connect configuration between your self-hosted tool and your Entra tenant, with a registered application, redirect URIs, client credentials and group mappings for roles. Superset supports database, LDAP and OAuth authentication through Flask AppBuilder, so an OAuth setup against Entra is a common route, and you should confirm the exact configuration keys against the version you deploy. Metabase's single sign-on options depend on edition, and its pricing page places SSO in paid plans, so check the current feature list before you commit. Plan for test users, group-to-role mapping, session lifetimes and a documented break-glass account.

Does moving off Power BI change our compliance position?

Moving the platform changes where data is processed, who administers it and how access is logged, so your control set changes too. Access reviews, change management, backup and restore tests, logging and encryption settings all need to be documented for the new stack. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications. Independent auditors and certification bodies make those determinations, so confirm with your assessor which controls and evidence they expect before the cutover.

How DeployOpen scopes, migrates and supports a Power BI replacement

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Power BI replacement, we start with a written scope that covers the platform, the data sources and the content you need to move.

How we scope

  • Inventory which Power BI workspaces, reports, semantic models and gateways are in use and which are retired
  • Confirm the data sources, identity provider and sign-in requirements, including Microsoft Entra ID integration
  • Agree in writing which DAX measures move to SQL or a semantic layer, and which dashboards are out of scope
  • Engagements are fixed-scope, with deliverables and timelines agreed before work starts

How we build

  • Deploy the chosen platform, such as Apache Superset or Metabase, in your infrastructure with its metadata database
  • Rebuild priority dashboards against the agreed datasets and test figures against the existing Power BI outputs
  • Configure authentication, role-based access and row-level permissions to match your current access model
  • Run security testing of the deployed platform and its APIs before users are onboarded

How we hand over

  • Document the architecture, configuration, data source connections and metric definitions in a handover pack
  • Provide the runbooks for backups, upgrades and access reviews that your own team will operate
  • Walk your administrators and analysts through the rebuilt content and the changes to their daily workflow
  • Deliver the control and configuration evidence your compliance team needs, while auditors remain responsible for any assessment

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover
  • Retainers can cover platform patching, release upgrades and re-testing after configuration changes
  • Ask for the support scope, response expectations and upgrade approach in writing before you sign
  • Quotes follow from the written scope, so ask for each component to be priced separately

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.