Forum Discussion

SHDJason's avatar
SHDJason
Advocate II
9 years ago
Solved

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.

  • 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

     

     

16 Replies

  • Phil_Seamark's avatar
    Phil_Seamark
    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

     

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      This is perfect!

  • dkay84_PowerBI's avatar
    dkay84_PowerBI
    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's avatar
      Anonymous
      Not applicable

      This is perfect. Worked just fine.

  • jkenne01's avatar
    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

     

      • jkenne01's avatar
        jkenne01
        Frequent Visitor

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

  • v-ljerr-msft's avatar
    v-ljerr-msft
    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.:smileyhappy:

     

    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

    • SHDJason's avatar
      SHDJason
      Advocate II

      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.