Qrly is the self-hostable BI + AI platform Qlik Sense never quite is — Qlik's AI runs in Qlik Cloud with no local-model option, and its analytics sit on a proprietary in-memory engine you have to load before you can ask it anything. Qrly ships natural-language Ask (NL→SQL), AI anomaly detection and BYO LLM (local Ollama / LM Studio or cloud Claude, Gemini, OpenAI, Azure) plus embedded analytics with signed-JWT, productive in minutes at a fraction of the cost.
No marketing fluff. Qlik Sense is a serious product with genuine analytical depth and an engine nobody else has copied — here is where each tool is actually stronger.
The features most teams actually evaluate when scoping out of Qlik Sense.
From real procurement reviews and post-renewal conversations with data and IT leaders.
Qlik's associative engine is genuinely clever and genuinely demanding: the model lives in memory, it gets there through a scheduled reload written in the load script, and how much you can analyse is bounded by the RAM of the box holding it. Freshness is whatever the reload cadence happens to be, and the answer to a slow app is usually a bigger server or a smaller model.
Qrly compiles the query and sends it to the database — Postgres, MySQL, SQL Server, BigQuery, Snowflake, Redshift and the rest of 40 connection types — so there is no copy to reload and nothing to keep in sync. Freshness is the database's freshness. Where precomputation genuinely helps, it is opt-in per question: result materialisation on a refresh interval, four caching tiers, and a query governor with per-user daily budgets.
Qlik's power sits in two proprietary languages. The load script gets data in and defines the model; set analysis expresses anything past a plain aggregation. Both are capable, both are terse, and neither transfers anywhere else — which is why hiring for them is a specialist search, and why the person who wrote the app is often the only person who can safely change it.
Qrly is SQL and a visual builder over the top of it. A question is a JSON document compiled to 12 SQL dialects, and the compiled SQL is always readable from the editor. Any flat SELECT converts back into a visual definition, with CTEs, UNIONs and subqueries reported as explicit lossy-feature warnings rather than silently dropped. The analyst who built it and the engineer reviewing it are looking at the same language.
Qlik Cloud and Qlik Sense Client-Managed are not the same thing. They are licensed differently, administered differently and upgraded differently, and moving from one to the other is a project rather than a setting. Choosing the client-managed side means running it on Windows Server and owning that estate; choosing the cloud side means the data leaves your perimeter. Neither is wrong, and you do have to pick.
Qrly has one deployment model. The same binary runs on a laptop, a single Linux box, a private cloud or a Kubernetes cluster, air-gapped if your regulator says so, with the same feature set in every case. There is no edition that gets capabilities first and no future migration between the two, because there is only one.
A Qlik app is a single binary artefact holding the data model, the load script and the sheets together, and the intermediate layer is a Qlik file format too. Nothing outside Qlik reads either of them. The expressions are set analysis, the transformations are load script, and none of it means anything to the next tool. Renewal is negotiated from the position of a rebuild being the alternative.
A Qrly question is a JSON document that compiles to SQL you can read, copy and keep. Results export to CSV, JSON, XML and XLSX; dashboards and reports are rows in a database you are running. If Qrly stops being the right answer in five years, what you take with you is SQL and a schema — which every other tool in this category already speaks.
Our own list price in full, and an honest account of how Qlik 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.
A Qlik estate is rebuilt rather than imported — and the load script makes that far less painful than it sounds.
Qrly connects to the sources your apps already reload from — no third-party ETL, no paid connector, no partner engagement required unless you want one. The same pattern works whether you are on Qlik Cloud or a client-managed installation several versions behind.
.qvf before you touch anything else.Try it pane shows the compiled SQL as you go.For the reporting most Qlik customers actually run — charts, dashboards, scheduled delivery, embedded views, alerts — yes, and against the live database rather than a reloaded copy of it. The honest exception is the associative engine itself. If your users work by making selections and reading what turns grey across every object on the sheet at once, that is a genuinely distinctive thing Qlik does, Qrly does not do it, and no amount of drill-down is quite the same gesture.
Calculated fields and the OLAP layer. A calculated field is a SQL expression with a type hint, validated on the server, usable in filters, breakouts, having, order-by and aggregations, with a Monaco mini-editor and column completion for authoring it. The scoped comparisons people usually reach for set analysis to express come from the OLAP model: period-over-period against the prior period and the prior year, Top-N within group via ROW_NUMBER partitioned by the dimensions, and ROLLUP, CUBE or GROUPING SETS where the dialect supports them. It is more verbose than a set expression, and considerably easier for the next person to read.
You rebuild rather than import, and there is no honest way to dress that up. A Qlik app is a proprietary file holding the model, the load script and the sheets together, and nothing outside Qlik reads it. What transfers is the source: Qrly connects to the same databases and warehouses through one of 40 connection types. The load script turns out to be the most useful artefact you own, because it names every table, key and join the app depends on — read it as the specification, then rebuild the sheets that people actually open.
Qrly is priced on revenue, not seats: a €15M-revenue company pays €6,300 a year — €18,900 over three years — for unlimited everything, one organization, one installation. Qlik licenses per named user with capacity tiers on top, so its number depends on how many people you name and how much data you load, and we are not going to publish a figure we cannot source. What is safe to say is that the Qrly figure does not move when the user count does — which is the only part of the comparison you can plan a budget around.
Yes, and it belongs at the top of the evaluation rather than buried in a footnote. Qrly has no equivalent of Qlik's green, white and grey selection state propagating across every object on a sheet. What it offers instead is drill-down in two modes — ROWS strips the aggregation to expose the underlying rows, FILTER keeps the aggregation and narrows to the group you clicked — plus dashboard cascade filters that chain parent to child, and interactive filters populated by their own lookup SQL. It is a different gesture, and teams who navigate by association every day should try it before signing anything.
All of them, because there is only one. One Qrly, one binary, one feature set, running on a single Linux box, in a private cloud or on a Kubernetes cluster, air-gapped if your regulator requires it. There is no hosted edition that receives capabilities first and no client-managed edition that receives them a year later, so there is no future migration between the two waiting on the roadmap.
Self-hostable. Flat pricing. On-prem AI. EU data residency by default. Made in Belgium.