Qrly vs Power BI
BI + AI in one self-hosted platform — natural-language Ask (NL→SQL) and BYO LLM (local Ollama / LM Studio or Anthropic, Gemini, OpenAI, Azure) included by default. No Copilot Premium tier to license, no Azure-only AI, no Microsoft Enterprise Agreement to sign — runs on your infrastructure with EU data residency.
Who wins where
No marketing fluff. Here is where each tool is genuinely stronger.
BI + AI in one self-hosted platform — flat pricing
- AI Ask (NL→SQL) with AI anomaly detection & schema descriptions
- BYO LLM — Anthropic, Gemini, OpenAI, Azure, or local Ollama / LM Studio
- Embedded analytics with signed-JWT included (not an add-on)
- Runs anywhere — not just on Azure, no Microsoft EA required
- Flat license for unlimited users — predictable budgeting
- EU data residency as a native default
Core dashboards & reporting
- Both build interactive dashboards with drill-down
- Both schedule report delivery by email
- Both expose a REST API & webhooks
- Both connect to the major cloud warehouses
- Both support SSO
Microsoft ecosystem depth
- Tight Excel, Teams and Microsoft 365 integration
- Deep Azure Synapse, Fabric and Analysis Services integration
- Existing Microsoft EA pricing for large shops
- A very large library of certified custom visuals
Feature-by-feature comparison
The features most teams actually evaluate when moving off Power BI.
| Feature | RecommendedQrlySelf-hosted · Belgium | Power BIMicrosoft |
|---|---|---|
| Self-hostable on your own infra | Included | Server edition — Windows + SQL Server |
| Same saved question runs on 12 SQL dialects | Included | Semantic model tied to its connector |
| Built-in customer embed portal | Included | Power BI Embedded capacity required |
| Native Alert with auto-escalation | Included | Dashboard tile alerts only |
| Native scheduled subscription (4 providers) | Included | Email subscriptions only |
| Visual query builder and raw SQL, round-trip convertible | SQL ⇄ visual | Power Query M round-trips; DAX does not |
| Azure AD + Google + LDAP + Basic simultaneously | Included | Azure AD / Entra ID only |
| OIDC SSO user provisioning | Included | Entra ID sync only |
| AI with on-prem option (Ollama, LM Studio) | Included | Azure OpenAI only |
| Multi-tenant architecture out of the box | Included | Single organization per account |
| Connects to your existing warehouse on day 1 | 40 connectors | Connectors plus an on-premises gateway |
| Flat pricing (unlimited users) | Included | Per-user monthly, or reserved capacity |
| Productive in under 5 minutes | Included | Desktop install, then publish |
| EU data residency (native, not a tier) | Included | Azure region choice — still Microsoft |
| No marketplace plugin required for basics | Included | AppSource custom visuals common |
| Dashboards, charts and geographic maps | Included | Included |
| REST API + webhooks | Included | Included |
| OLAP models with ROLLUP, CUBE and GROUPING SETS | Included | DAX measures over a semantic model |
| Markdown analyses and multi-format export | Included | Excel, CSV, PDF, PowerPoint |
Four reasons teams leave Power BI
From real migration conversations with data leaders.
Azure lock-in is real
Power BI is designed to be the connective tissue of the Azure ecosystem. The moment a team is not all-in on Azure — mixed cloud, on-prem workloads, a non-Microsoft identity stack, a regulator that insists on non-US hyperscaler data residency — the friction shows up: identity assumes Entra ID, hosting assumes an Azure region, licensing assumes a Microsoft Enterprise Agreement, and every support conversation eventually routes back to a Microsoft account team.
Qrly is identity-agnostic and runs wherever your ops team wants it to: any Linux host, any Kubernetes cluster, on-prem, AWS, GCP, Hetzner, OVH, or a laptop during a demo — same package, same features, same license. Moving between environments does not require re-negotiating anything.
Three languages before the first chart
The Power BI path to a number is Power Query M to shape the data, a semantic model to relate the tables, and DAX to express the measure. Each layer is learnable and each layer is a place for the answer to go wrong, which is why so many organisations end up with a small guild of people who are trusted to change a measure and a long queue behind them.
In Qrly you point at a table, filter, group and chart — the query document compiles straight to SQL and the compiled SQL is on screen next to the result. A star or snowflake OLAP model with a dimension and measure catalogue is there when you want governed measures, rather than a prerequisite for the first chart.
Authoring lives in a Windows desktop app
Serious Power BI authoring happens in Power BI Desktop, which runs on Windows. The browser service is where reports are consumed and lightly edited. That split means a publish step, a refresh schedule, an on-premises data gateway for anything not already in the cloud, and a .pbix file that is the real source of truth sitting on somebody's laptop.
Qrly has one application, and it is the browser. The visual builder and the Monaco SQL editor — schema-aware autocomplete, EXPLAIN, AI explain, convert SQL to visual and back — are the same screen everyone else is looking at. Nothing to install, nothing to publish, no gateway.
Showing a report to a customer is a purchase
Putting a Power BI report in front of people outside your organisation means Power BI Embedded: a dedicated capacity SKU, an Entra app registration and service principal, and an embed-token flow you build and maintain. It is a procurement exercise before it is an engineering one, and the capacity is sized and paid for whether the customer logs in that month or not.
Qrly embeds a dashboard with a signed JWT and locked parameters, so an embedded viewer cannot widen the query beyond what the token allows. Cascade filters, live push over an interval or a Postgres LISTEN/NOTIFY channel, and scheduled subscriptions all work inside the embed — same install, same licence, no capacity to reserve.
Pricing, honestly
Our own list price in full, and an honest account of how Microsoft charges. The Qrly column is the published schedule evaluated at €15M of revenue — the number of people using it does not move it.
Methodology, 28 August 2026. Qrly publishes a complete rate card, so the figures in our column are quoted exactly. The other column describes a pricing model rather than quoting a number: vendor list prices change without notice and several of these vendors do not publish one at all. For current figures, go to the vendor’s own pricing page.
Qrly
Annual licence · priced on your revenue · unlimited users, one organisation, one installation
- Annual licence at €15M revenue €6,300
- Per analyst / per viewer €0
- Per query, per credit, per capacity unit €0
- Embedded dashboard consumers €0
- Embedding, alerts, OIDC/SSO, row-level rules Included at every tier
- Self-hosting and bring-your-own LLM Included at every tier
Three years of licence: €18,900
That is our published schedule evaluated at €15M of revenue — 0.18% of the first €500k, then 0.12%, 0.0525% and 0.027% on each tranche above it. It does not move when you add users. The whole rate card, from the €900 floor upward, is on the pricing page.
Power BI
Per user, or per reserved capacity · Microsoft · list prices published
- How it charges Per user per month, or per reserved capacity
- Per-user licences Pro and Premium Per User
- Capacity licences Microsoft Fabric SKUs, billed by capacity unit
- Sharing a report with a colleague Needs a licence, or a capacity behind it
- Embedded analytics Runs on capacity, not on a user seat
- Power BI Report Server (on-prem) Requires Premium capacity, or SQL Server Enterprise with Software Assurance
- List prices Published by Microsoft — check the Power BI pricing page
Two meters, and most organisations of any size end up on both: named users for the people who build, capacity units for the workspaces, refreshes and embedded reports that carry the load. Neither meter is your revenue, and the capacity one moves with how hard people use the thing. Microsoft publishes the current figures; we would rather send you there than paraphrase them.
Moving from Power BI to Qrly
Most teams are up and running on Qrly within a working week.
The standard migration path
The data does not move. Qrly connects to the same databases and warehouses Power BI already reads, so a migration is a rebuild of the logic, not a transfer of records.
- Point Qrly at the same source. 40 connection types compile to 12 SQL dialects — Postgres, MySQL, MariaDB, SQL Server, BigQuery, Snowflake, Redshift, SQLite, H2, DB2, Sybase and Pervasive. There is no gateway to install, because Qrly runs inside your network already.
- Re-express the Power Query M steps. M has no converter. Filters, joins and derived columns become part of the QQL query document or a server-validated calculated field; anything heavier stays in your ELT and Qrly reads the result.
- Re-express the DAX measures. DAX does not convert either. COUNT, SUM, AVG, MIN and MAX map onto QQL aggregations;
COUNT(DISTINCT)and case-conditional measures onto the OLAP measure catalogue; time intelligence onto the time hierarchy and the prior-period and prior-year comparison columns. - Sync users from Entra ID via OIDC. Point Qrly at your existing identity provider. Users keep their credentials and SSO.
- Optional parallel run. Many teams leave the Power BI workspace in place while users transition, then retire it once adoption is complete.
Common questions
Is Qrly a drop-in replacement for Power BI?
How do we move our Power BI reports to Qrly?
The data does not move. Qrly connects to the same databases and warehouses Power BI already reads — 40 connection types compiling to 12 SQL dialects — so the warehouse stays exactly where it is and nothing is exported.
What does move is the logic, and it moves by hand: there is no converter for DAX or for Power Query M, and we will not pretend otherwise. Shaping steps become part of the QQL query document or a server-validated calculated field. Measures map onto QQL's aggregation whitelist — COUNT, SUM, AVG, MIN, MAX — with COUNT(DISTINCT) and case-conditional measures available in the OLAP compiler, and time intelligence handled by the time hierarchy plus prior-period and prior-year comparison columns. Native SQL you already trust can be pasted straight into the editor, and Qrly will reverse-engineer a flat SELECT back into a visual definition.
Does Qrly require Azure or Microsoft infrastructure?
What about Power BI Desktop?
Qrly has no desktop application, and does not want one. Authoring happens in the browser: a visual query builder, or a Monaco SQL editor with schema-aware autocomplete, hover documentation, inline error markers, EXPLAIN and an AI explain step. What you build is a saved question on the server, not a .pbix file on an analyst's laptop that has to be published before anyone else can see it.
There is no on-premises data gateway to install either. Qrly is self-hosted, so it is already on the same side of the firewall as your database.
How does QQL compare to DAX?
They are not the same kind of thing. DAX is an expression language for measures evaluated over a semantic model, with Power Query M doing the shaping beforehand. QQL is a query document — source table or another saved question, column selections, a nested AND/OR filter tree with around 35 operators, aggregations, breakouts, having, order-by, four join types and a preferred IANA timezone — compiled to SQL for 12 dialects, so the same saved question runs unchanged on Postgres, BigQuery, Snowflake or SQL Server.
QQL's aggregation set is deliberately narrow: COUNT, SUM, AVG, MIN and MAX, with COUNT(DISTINCT) and case-conditional measures added by the OLAP compiler. Anything past that is written as native SQL, which the sanitiser holds to SELECT and WITH and which the builder can read back into a visual definition. Time comparisons that DAX does with time intelligence are handled by the OLAP time hierarchy and the prior-period and prior-year comparison columns.
What does Qrly cost for 50 users over 3 years?
The full alternatives matrix
Evaluating Qrly against another tool? Jump to the detailed side-by-side.