Conditional, string & null logic

If, Match, WildMatch, Pick, Dual and null handling, and the case-sensitivity and BLANK differences that trip people up.

If(cond, then, else) If and nested If Qlik's If() maps directly to DAX IF and to Power Query's if ... then ... else. Long nested Ifs are cleaner as SWITCH(TRUE(), ...). Qlik's numeric booleans (-1/0) are the main difference. Direct equivalent Match(Region, 'North', 'South') Match, MixMatch and WildMatch Match, MixMatch and WildMatch test a value against a list and return its position (or 0). They differ in case sensitivity and wildcard support, and so do DAX and Power Query, in the opposite direction from what you might expect. Partial / different approach Pick(n, expr1, expr2, ...) Pick (and Pick(Match()) measure switching) Pick(n, ...) returns the n-th expression. It maps to SWITCH. The common Qlik measure-selector idiom Pick(Match(vMeasure, ...)) is better rebuilt with Power BI field parameters. Direct equivalent Null(), IsNull(), NullAsValue NULL handling vs DAX BLANK and M null Qlik NULL, DAX BLANK and Power Query null follow different arithmetic and comparison rules. This is one of the most common reasons migrated numbers do not reconcile. Partial / different approach Dual('Jan', 1) Dual values Qlik fields can hold a dual value: a text and a number at the same time. Power BI columns have one data type, so you use a text column sorted by a number column (Sort by column). Partial / different approach