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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Employee
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
Employee
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
Employee
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

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors