Metabase vs Power BI vs Build Your Own

Choose Metabase when its query builder, SQL workflow, and deployment options fit how your team explores data. Choose Power BI when its reporting and distribution environment fit the organization. Build a narrow reporting portal when customers need a stable set of measures, clear explanations, and a tightly controlled view of their own records.

The most consequential choice is often the access model. A public dashboard, a signed guest embed, and a fully authenticated analytics application are different products. Comparing them as if they were interchangeable can produce both a misleading budget and an unsafe design.

Compare the report contract and access boundary

Official sources were checked September 26, 2026. The custom column is Looski's proposed bounded portal. Product facts below do not replace testing the permissions of your deployed configuration.

CriterionMetabasePower BIBuild your own
Self-service questionsQuery builder supports staged filtering, summarizing, and joining. BuilderReport authoring and consumption use the Power BI model and tooling. PlansOffer named measures and allowed filters, not arbitrary queries by default.
DeploymentOpen Source, hosted, and paid self-hosted offerings differ. PricingUser and capacity-based service choices affect distribution. PricingOwn application deployment, upgrades, and availability.
Guest embeddingSigned guest embeds do not create Metabase user sessions. Embed securityChoose the appropriate supported embedding and identity arrangement. Embedded offerAuthenticate users and authorize each report request server-side.
Guest isolationLocked parameters secure guest-embed scope; ordinary user permissions do not apply there. SecurityTest the effective viewer identity used by the embedding design.Never accept tenant identity merely from an editable URL filter.
Authenticated embeddingModular/full-app embedding with SSO is a Pro/Enterprise capability. SecurityDistribution and licensing depend on audience/capacity. SharingReuse your product's identity and enforce explicit data scope.
Row/column restrictionsRow and column security is available on Pro/Enterprise. PermissionsRLS applies to Viewers, not workspace editing roles. RLSApply the same policy to charts, detail, exports, and caches.
SQL caveatQuery-builder row/column security does not secure arbitrary native SQL results. LimitationsValidate model security in the actual connection and role configuration. RLSRestrict query surfaces or enforce security in the database/service.
Tenant storageDocumentation distinguishes shared database, database-per-customer, and schema-per-customer designs. Embedding permissionsMap the chosen data layout to the semantic model and access design.Make tenant partitioning an architectural decision before UI work.
FreshnessScope database load, caching, and report needs in the trial.Refresh frequency depends on model and capacity. RefreshDisplay the last successful data update and incomplete periods.
User experienceRetain query exploration when customers actually need it.Retain interactive reports when the licensed audience needs them.Explain a small report in the language of the service being purchased.

Price the right edition and audience

Metabase lists a free Open Source offering and separates hosted and paid capabilities. The existence of a free edition does not mean authenticated embedding or row/column security is free. Microsoft distinguishes free authoring, per-user plans, and variable embedded capacity. Obtain a dated quote for the actual internal and external audience, currency, billing term, support, and deployment. Metabase pricing, Power BI pricing.

Metabase offers its Open Source Edition under AGPL and documents separate embedding and commercial license routes. Its embedding-license option includes retaining the Metabase attribution, while enterprise capabilities require the appropriate commercial license. Wrapping it in your own portal does not erase those terms. Metabase licenses.

For Power BI service sharing, Microsoft says free viewers require eligible capacity: P SKUs or Fabric F64 and above, with both the report and semantic model appropriately hosted. Smaller Fabric capacities do not generally remove the Pro requirement for these shared-content viewers. Customer-facing embedded capacity is a separate design and cost decision. Sharing requirements.

For this comparison, a universal per-seat total would conceal the most important difference: whether customers need a fixed signed report, authenticated exploration, or a custom portal. Decide that scope before multiplying users by a headline price. Retain database and engineering costs in every option.

Cost or migration itemRequired decisionEvidence before commitment
AudienceInternal staff, external customers, or bothActual user journeys and distribution rights
InteractivityFixed reports, drill-through, or self-service explorationDemonstration with a restricted customer account
Data isolationShared tables, schemas, or separate databasesCross-customer denial tests for every access path
MigrationMeasures, saved questions, filters, and subscriptionsTotals reconciled to source records under the same definitions
HostingManaged service versus operated infrastructureBackup, upgrade, restore, and incident responsibilities
Custom portalQuery performance, exports, authorization, and supportA complete working report contract rather than a chart prototype

Choose the smallest useful reporting surface

Our analysis favors Metabase when database-oriented teams want quick exploration and the required edition fits their security model. Favor Power BI when its semantic models, distribution arrangements, and organizational skills are already useful assets. Pilot both against the same customer question instead of comparing unrelated demonstration dashboards.

For a service provider, customers might need request volume, turnaround, open work, and an explanation of exceptions. If those are stable questions, a custom portal can present them directly. It can explain whether paused time is excluded from turnaround and show the records contributing to a total.

Avoid removing exploration that customers genuinely use. Watch several users solve their reporting task before deciding that four fixed charts are enough. A custom portal becomes expensive when every customer asks for a slightly different report and each request needs a deployment.

Security belongs in the report design

Metabase documents an important distinction: guest embeds use signed resources and locked parameters, while authenticated embeds can apply user-aware permissions. A filter shown in the browser is not automatically a security boundary. Select the mechanism intentionally and test its actual behavior. Securing embeds.

Native SQL also needs deliberate treatment. Metabase's row/column security applies to the query builder and cannot be assumed to constrain arbitrary SQL results. If you grant SQL access, use the documented alternatives and database-level controls appropriate to that access. Row and column security limitations.

In a custom portal, derive customer scope from trusted identity. Apply it when querying and exporting, and include it in any cache key. A safe chart paired with an unscoped CSV endpoint is still an unsafe report. Test support impersonation and administrator tools as separate privileged paths.

Give measures a written definition and version. State the reporting timezone, treatment of reopened requests, and meaning of a paused service clock. Keep the transformation independent of the UI so the same logic can support a vendor report and the custom portal during migration.

Pilot two customers, not one happy path

Create two customers with overlapping dates and similar record names. Give each records that should never appear in the other's totals. Attempt access through changed filters, copied links, direct export requests, and cached results after switching accounts.

Reconcile every measure to source records. Include a reopened request, late-arriving update, deleted record, and timezone boundary. Change a customer's permission while a report is open and verify the next request respects the change.

Measure time to answer a customer's question, number of unexplained discrepancies, and the maintenance required for a definition change. Keep the previous reporting route during a controlled transition. Buy exploration and embedding where they solve the problem; build a portal where a small, explicit, permission-aware report contract is the product experience you want to own.

Frequently asked questions

What should customers be able to customize?

Start with filters that support known decisions and keep definitions fixed. Add exploration only when users need it and the data model can support it without misleading results or exposing other customers' records.

What would a first custom reporting portal include?

Define a small report contract with named measures, allowed filters, a freshness timestamp, and explicit customer scoping. Keep authorization on the server for both on-screen results and exports. Provide drill-through to the records that explain a total and make definition changes visible to users.

How should we compare the cost of Metabase, Power BI, and a custom build?

Compare authoring, audience access, hosting, and embedding requirements using current terms. Include query optimization and ongoing authorization testing in the custom option. Compare the same scope and planning horizon, including implementation, retained services, maintenance, and support. A lower subscription bill alone does not establish a lower total cost.

Sources & further reading

Talk with us about your workflow →