Your QVD factory is a data platform. Let it run like one.
Strata is DI Squared’s family of migration accelerators. Strata Transform reads your Qlik load scripts, works out what they actually do, and regenerates that logic as governed, testable pipelines on dbt, Snowflake, Databricks, Microsoft Fabric, or Qlik Talend Cloud, organized into a medallion architecture.
Transformation belongs in the warehouse. Analytics belong in Qlik.
Years of Qlik load scripts encode real business logic: extraction, joins, mappings, incremental loads. Today that work runs on Qlik servers, in a scripting language that lives inside the platform. Moving it into Snowflake or Databricks puts the logic somewhere it can be versioned, tested, and governed. Qlik still does everything it does today; it simply starts from a clean, shared model, and that same model is available to every other consumer, from Power BI to data science notebooks to downstream applications. This is a modernization, not an exit.
Logic your team can review
Load script logic is hard to diff, hard to test, and hard to trace across apps. As dbt models it gets version control, generated documentation, and tests that run on every build, so your team can review a change the way they review any other code, and see what it touches before it ships. The people who maintain your pipelines stop being the only people who can explain them, and onboarding an engineer stops depending on who is still at the company.
A smaller footprint to license
Qlik Cloud capacity subscriptions meter primarily on Data for Analysis, defined by Qlik as the total volume of data loaded into and stored in your environment, QVD files created by data movement included. Moving staging and transformation into the warehouse can reduce that volume, which makes a move from perpetual or named licensing to a cloud subscription easier to size. That is a door opening for your Qlik team as much as for yours.
One model, every consumer
Once the logic lands in your preferred cloud data platform, it serves Qlik and other consumers (AI, Power BI, Excel, and more) from the same governed data model, rather than being reachable only through Qlik's proprietary format (QVD). One definition of a measure, maintained in one place, instead of the same rule rebuilt in every app that needs it, quietly drifting apart as they go. Qlik keeps consuming it, alongside whatever else your users use.
Qlik Cloud also offers a user-based subscription model; the capacity model is the one metered on data volume. Value meter definitions from Qlik Cloud Help: Data for Analysis. Licensing outcomes depend on your agreement and estate; we size the effect during discovery rather than estimating it here.
It doesn't translate line by line.
It works out what the script does.
A load script is not a list of statements. It is a pipeline with an order, a set of dependencies, and a shape that emerges across apps. Strata Transform parses the script, reads the estate around it, and generates models that reflect the actual structure.
01 /
It reads the whole idiom
ApplyMap becomes macros and joins. INLINE tables become seeds. CROSSTABLE becomes unpivot, IntervalMatch becomes range joins, preceding loads become CTEs, and incremental STORE patterns are respected.
02 /
It knows which QVD feeds which app
Engine-verified lineage maps the producer to consumer chains, so it knows which app writes every QVD and which apps read it. Generated models reference each other instead of pointing at dead files.
03 /
It designs the medallion layers
Extract scripts become bronze staging, RESIDENT transforms become silver, aggregations become gold marts, each with the dbt materialization to match.
04 /
It writes the tests
Unique and not-null tests on keys, relationship tests on foreign keys, and accepted-values tests derived from your Match() patterns. The tests ship with the project, not as a later exercise.
05 /
It compiles before you see it
The generator is continuously tested against real dbt compilation, and generated SQL is statically verified per target dialect before it reaches you, so review starts from code rather than from pseudocode.
Five targets, one parse
Same logic. Somewhere your team can test it.
Orders: LOAD OrderID, CustomerID, Amount FROM [lib://QVD/Orders.qvd] (qvd); LEFT JOIN (Orders) LOAD CustomerID, ApplyMap('RegionMap', RegionCode, 'Unknown') AS Region RESIDENT Customers;
SELECT o.order_id, o.customer_id, o.amount, COALESCE(rm.region, 'Unknown') AS region FROM {{ source('qvd_files','orders') }} o LEFT JOIN {{ ref('int_mapping__region') }} rm ON o.region_code = rm.key -- + schema tests & docs
The QVD factory, regenerated as a governed warehouse.
Each layer of your Qlik load scripts becomes a medallion layer. The logic is the same. Where it runs, and who can read it, changes.
Business logic lives in load scripts on Qlik servers: hard to diff, hard to test, hard to trace across apps.
Engine-verified lineage: which app writes each QVD, which apps read it.
Compiled against real dbt and verified per target dialect before review.
Versioned in git, documented, tested on every build: a change is reviewed like any other code.
Transformation belongs in the warehouse. Analytics belong in Qlik.
Strata by DI SquaredNot sure which destination fits? That is what discovery is for. We map the estate, follow the QVD chains, and show you what the medallion design looks like on each option before anybody commits to a platform.
Assess, prove it on one domain, then move in waves
Portability read
A portability assessment across the estate, including a data-platform read on how much of the load script layer converts cleanly and where the judgment calls are.
Map the estate
Full-estate lineage, QVD producer and consumer chains, the copy families where the same app has been duplicated, and a proposed medallion design for the target platform you choose.
Prove one domain
A scoped set of scripts converted, compiled, tested, and reconciled against what Qlik produces today, so the pattern is proven on your data before it scales.
Roll it out
Domain by domain, with the generated tests running on every build and your team taking ownership of the models as they land.
Rules first, model second
Roughly 70% of conversion is rule-based with no language model involved. Model assistance is reserved for the hard tail, and low-confidence output is flagged for review rather than quietly guessed.
Compile-hardened output
The generator is tested continuously against real dbt compilation and the generated SQL is statically verified per target dialect before it reaches you.
Reconciled against the source
Converted pipelines ship with a validation report that compares row counts exactly and aggregates to a tight financial tolerance against what Qlik produces today.
Runs where your data lives
Available as a hosted service or as a fully air-gapped Docker deployment, for estates that are not permitted to leave the network.
On cost: automated conversion plus validation against manual redevelopment hours is where the roughly 80% migration cost reduction comes from. We size it against your estate during discovery, not before.
QVD to Cloud is one accelerator.
Strata is the family it belongs to.
Strata is DI Squared’s family of migration accelerators, built to move workloads between analytics and data integration platforms without the quarters of hand redevelopment those moves usually take. QVD to Cloud is the one we are featuring here. Others in the suite address different routes, and we are still building. If the move you are weighing is not on this page, it is worth a conversation anyway.
Turn your QVDs into a real Enterprise Data Platform
Strata is offered as an accelerator within DI Squared consulting engagements. We start with a portability read on your estate, show you the generated models for a domain you pick, and reconcile them against what Qlik produces today before anything moves.