Pick(n, expr1, expr2, ...)
Pick (and Pick(Match()) measure switching) in Power BI
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.
What it does in Qlik
Pick(n, expr1 [, expr2...]) returns the n-th expression in the list. A classic pattern is a variable set by a button, plus Pick(Match(vMeasure, 'Sales', 'Margin'), Sum(Sales), Sum(Margin)) so that one chart can show different measures.
Qlik example
Pick(Match(vMeasure, 'Sales', 'Margin', 'Qty'), Sum(Sales), Sum(Margin), Sum(Qty))Power BI equivalent
SWITCH in DAX
Selected measure =
SWITCH (
SELECTEDVALUE ( 'Measure Picker'[Measure], "Sales" ),
"Sales", [Sales],
"Margin", [Margin],
"Qty", [Qty]
)'Measure Picker' is a small disconnected table (Enter data) with one row per option, used in a slicer.
Field parameters (no DAX to maintain)
Modeling > New parameter > Fields creates a parameter table and slicer that swap measures, or columns, in a visual. Axis titles and formatting follow the chosen measure, which the SWITCH approach cannot do.
Gotchas and behaviour differences
- A SWITCH measure returns one format string for all branches unless you use dynamic format strings. Field parameters keep each measure's own format.
- SWITCH returns BLANK when no branch matches and there is no else value.
Official documentation
- Pick - script and chart function (Qlik Help)
- SWITCH function (DAX) (Microsoft Learn)
- Let report readers use field parameters (Microsoft Learn)
- SWITCH (dax.guide)
Related pages
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
SET vSales = Sum(Sales); LET vToday = Today();
Variables (SET, LET and $-expansion)
Qlik variables hold expressions, values and settings, and are expanded as text. Power BI splits these roles: measures for reusable logic, Power Query parameters for load settings, what-if and field parameters for user input, calculation groups for logic applied to many measures, and VAR inside DAX.
Partial / different approach
Spotted an error or a better pattern? QlikToDax is maintained by a working BI consultant; corrections are welcome via the About page. Last reviewed 2026-10-25.