Przemyslaw Remin
Przemyslaw Remin

Reputation: 6940

Choose DAX measure based on slicer value

Is it possible to dynamically pick up appropriate DAX measure defined in a table by slicer value?

Source table:

+----------------+------------+
|      col1      |    col2    |
+----------------+------------+
| selectedvalue1 | [measure1] |
| selectedvalue2 | [measure2] |
| selectedvalue3 | [measure3] |
+----------------+------------+

The values of col1 I put into slicer. I can retrieve these values by:

SlicerValue = SELECTEDVALUE(tab[col1])

I could hard code:

MyVariable = SWITCH(TRUE(),
SlicerValue = "selectedvalue1" , [measure1],
SlicerValue = "selectedvalue2" , [measure2],
SlicerValue = "selectedvalue3" , [measure3],
BLANK()
)

But I do not want to hard code the relation SelectedValue vs Measure in DAX measure. I want to have it defined in the source table.

I need something like this:

MyMeasure = GETMEASURE(tab[col2])

Of course assuming that such a function exists and that only one value of col2 has been filtered.

Upvotes: 4

Views: 966

Answers (1)

greggyb
greggyb

Reputation: 3798

@NickKrasnov mentioned calculation groups elsewhere. To automate the generation of your hard-coded lookup table, you could use DMVs against your pbix.

You might do something like below to get output formatted that can be pasted into a large SWITCH.

SELECT
    '"' + [Name] + '", [' + [Name] + '],'
FROM $SYSTEM.TMSCHEMA_MEASURES

Upvotes: 2

Related Questions