Daxlane
Free preview · beta

Convert Qlik Sense® expressions to DAX

Paste a chart expression or master measure from Qlik Sense® or QlikView®. Get a Power BI DAX measure, and a plain note on anything that may behave differently after the move.

Add your Power BI model (optional)

Don't paste confidential formulas or field names. Inputs are logged to improve Daxlane.

Your DAX measure shows up here, with the checks it passed and what to review.

How it maps

Common expression patterns and their DAX equivalents

Most chart expressions follow a handful of patterns. Some convert one to one; others depend on how your Power BI model is built, so Daxlane flags them.

PatternExampleDAX approachConversion
Set modifier on a fieldSum({<Year={2024}>} Sales)Column filter in CALCULATE. Both replace the current selection on that field.Automatic
Intersect with selection{<Region*={'EMEA'}>}KEEPFILTERS around the filter, so the user's selection still applies.Automatic
Clear a field{<Region=>}REMOVEFILTERS ( Table[Region] )Automatic
Aggr over a dimensionSum(Aggr(Max(Price), Product))Iterator such as SUMX over VALUES of the dimension.Automatic
Ignore all selectionsSum({1} Sales)REMOVEFILTERS () or ALL on chosen tables. Decide whether page and visual filters should also be ignored.Review
Dollar-sign expansion{<Year={$(=Max(Year))}>}A variable, usually over ALLSELECTED. The original is evaluated once per chart; DAX evaluates per cell unless told otherwise.Review
Inter-record functionsRangeSum(Above(Sum(Sales),0,RowNo()))Running-total or WINDOW pattern over a sort column. The chart's sort order is not in the expression, so it must be confirmed.Review
Element functions{<Customer=P({<Year={2023}>} Customer)>}TREATAS or EXCEPT over a table of values.Review
Associations across unrelated tablesData islands, synthetic keysA model design decision: relationships and their filter direction.Manual
Load scriptApplyMap, Join, ConcatenatePower Query M merges and appends.On the roadmap

Before you migrate

Why a correct translation can still return a different number

The two engines filter data in different ways. A converted expression is only as good as the model it runs on, so these are the things to check side by side.

  • Selections and relationships. Qlik Sense® associates fields across all linked tables. In Power BI, filters travel along relationships and in the direction you set. Different model shapes give different totals for the same formula.
  • Nulls and blanks. DAX treats BLANK as zero in comparisons, so conditions like <= 0 can include empty rows.
  • Sort order. Functions that look at previous rows depend on how the chart is sorted, which DAX needs as an explicit column.
  • Dual values. Fields that carry both text and a number need a separate sort-by column in Power BI.
  • Testing. Compare a few key numbers in both tools before you retire the original app.

For migration teams

Migration pilot

Moving many apps at once? Send us the expressions from one representative app and we return:

  • converted DAX measures for each expression,
  • a review report that marks each one as automatic, review or manual,
  • a short list of model decisions to make before the migration.

Early pilots are free during the beta.

We only need expression text. Please don't send .qvf or .qvw files, which can contain data, and remove confidential names or values first. We can sign an NDA.

FAQ

Questions

Is Daxlane affiliated with Qlik or Microsoft?

No. Daxlane is an independent product. Product names are used only to describe which expressions it can read and which language it writes.

Is the conversion exact?

Simple set analysis usually maps one to one. Where the two engines behave differently, such as dollar expansion, inter-record functions or the associative model, Daxlane flags it for review. Always compare the result with the original numbers.

Does it convert load scripts?

Not yet. Today it converts chart expressions and master measures. Load script to Power Query M conversion is on the roadmap.

What happens to what I paste?

Inputs are logged so we can improve the converter. Don't paste confidential formulas or field names. For pilots we work only with the expression text you choose to share.