Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
SHDJason
Advocate II
Advocate II

How to display different measures using a selector

Hi. I could not find the answer to this in other places, so I'll ask it here.  

 

I would like to create a selector that will render different measures on the same chart.

 

For instance, I have a trend chart that shows users over time. I'd like to have a selector on the side so people can switch between users and transactions and revenue and have the same chart render that measure.  

 

Thanks.

1 ACCEPTED SOLUTION
Phil_Seamark
Microsoft Employee
Microsoft Employee

I've managed to acheive this using a measure table.

 

Download the following PBIX file

 

https://1drv.ms/u/s!AtDlC2rep7a-jkiRG_LyHcv0RSXI

 

You'll notice on the 2nd page called 'All Sorts' you can choose different Measure names from the box in the top left and it works.

 

I create a static table called [Dynamic] that carries measures and then reference them in a calculated measure on the fly

 

 


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

View solution in original post

16 REPLIES 16
jkenne01
Frequent Visitor

Hi,

 

An addtional issue I have is that the 2 measures I am toggling need to display in different formats. 1 to 1 decimal place and the other to 4 decimal places. This solution works for me apart from being able to dynamically be able to set the format of the measure returned.

 

Does anyone know if this is possible?,

 

Thanks in advance for your help,

 

Cheers,

Jack

 

Google: “Dax format”

Thanks for the reply but FORMAT returns a text value so my measures would be converted to text. So this won't work unfortunetly. 

Anonymous
Not applicable

I'm having the same problem where I have to choose one data type for my entire group of measures. For example, I can't use decimal for one measure, and integer for another. It's either all decimal or all integer.

 

Has anyone found a solution for having a metric selector slicer that allows different data types for different measures?

Anonymous
Not applicable

Hi DataPerson,

 

Have you tried  solution?
https://1drv.ms/u/s!AtDlC2rep7a-jkiRG_LyHcv0RSXI

It works for me now.  I've created a "Dynamic" query and then used the DAX "Switch" command to pre-select the set of measures.

 

Are your measures actual measures or calculated within the SWITCH measure? I wonder if they are separate measures each formatted themselves, and the SWITCH just calls them, if the formatting will be honored.

Hi,

 

Thanks again for the reply. The measures are real measures. One to 1 decimal place, the other to 4 decimal place. My issues seems to bethat I need to format the field in the table that will display the measure based on the selection. And the overides the format of the individual measure.

 

The measure I am displaying is :

 

 Impacts/TVR = IF(ISCROSSFILTERED('Measure Dimensions'[Measure]),SWITCH( TRUE(), VALUES('Measure Dimensions'[Measure]) = "Impacts",[Impacts],VALUES('Measure Dimensions'[Measure]) = "TVR",[TVR],BLANK()),BLANK())

 

Impacts is 1 decimal place. TVR is 4 decimal places. If I set the Impacts/TVR measure to General (Auto) it actual displays 4 decimals for Impacts and 2 for TVR. Which is odd!

 

 

Have you set formatting in the table itself? Maybe set it to default/auto and see if it will detect the formatting of the measures
v-ljerr-msft
Microsoft Employee
Microsoft Employee

Hi @SHDJason,

 

Based on my testing, the solution provided above should work in your scenario. Have you tried them? If you still have any question feel free to post here.Smiley Happy

 

In addition, if the solution works, could you accept the corresponding reply as solution to help others who may have similar issue easily find the answer and close this thread?

 

Regards

sorry, i haven't had a chance to test the solution yet. I'll close it as soon as i do. should be this week.

Phil_Seamark
Microsoft Employee
Microsoft Employee

I've managed to acheive this using a measure table.

 

Download the following PBIX file

 

https://1drv.ms/u/s!AtDlC2rep7a-jkiRG_LyHcv0RSXI

 

You'll notice on the 2nd page called 'All Sorts' you can choose different Measure names from the box in the top left and it works.

 

I create a static table called [Dynamic] that carries measures and then reference them in a calculated measure on the fly

 

 


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

Anonymous
Not applicable

This is perfect!

This worked great. Thanks for sharing!

Sean
Community Champion
Community Champion
dkay84_PowerBI
Microsoft Employee
Microsoft Employee

You need to do the following:

 

1. Create a table called "Measures" with 2 columns

  • Column 1 = MeasureName
  • Column 2 = MeasureID

You will fill up column 1 with the names of the measures you wish to show (i.e. transactions, revenue, etc.)

Column 2 is just an index (1,2,3,etc.)

 

MeasureName  |  MeasureID

Transactions      |          1

Revenue            |          2

etc.

 

2. Create a measure with the following syntax:

 

DisplayMeasure = SWITCH( TRUE(), MIN ( Measures[MeasureID] ) = 1, [Transactions Measure], MIN ( Measures[MeasureID ) = 2, [Revenue Measure] )

 

Expand this as neccessary.

 

Now create a slicer with Measure table column MeasureName .

 

In the chart or table , use the measure DisplayMeasure as your values field, and when you select the slicer, the chart will display the appropriate measure.

Anonymous
Not applicable

This is perfect. Worked just fine.

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors