Forum Discussion
How to change measure value using parameters?
I have 3 measures. I want to give user an option to select a measure to be showed in chart and the chart updates dynamically based on selection. Please help me to do this
For Ex. User would want to see a quantity or cost or weight in a chart at a time, on country level. I want to give a dropdown (select value of a parameter) which has above 3 options. Based on what he selects, the chart changes to show the measure selected?
rajdsing You cannot have a dropdown but you can use slicers or filters to change the calculations on chart.
You need to create a table that hols the values which you want to show in the slicer
Calculation Name SortID Cost 1 Quantity 2 Weight 3
The SortID is there for sorting the values in slicer as also use it to change the calculation.
The calculations are fictional, change it to your own measures. No relantionship is needed betwwen the calculation name table and any other.
The measure can be like this
Variable Calculation = VAR Costs = SUM ( Sales[Cost] ) //Change with your measure VAR Quantitys = SUM ( Sales[Quantity] ) //Change with your measure VAR Weights = SUM ( Sales[Weight] ) //Change with your measure VAR SelectMeasure = MIN ( CalculationTable[SortID] ) RETURN IF ( HASONEVALUE ( CalculationTable[Calculation Name] ); SWITCH ( SelectMeasure; 1; Costs; 2; Quantitys; 3; Weights ) )Add the [Variable Calculation] measure to any graph and add as filter of slicer the values from the table Calculation Names.
This should work
*Note that you cannot change the format based on selection ( at least not I am aware of )
12 Replies
- konstantinosMemorable Member
rajdsing You cannot have a dropdown but you can use slicers or filters to change the calculations on chart.
You need to create a table that hols the values which you want to show in the slicer
Calculation Name SortID Cost 1 Quantity 2 Weight 3
The SortID is there for sorting the values in slicer as also use it to change the calculation.
The calculations are fictional, change it to your own measures. No relantionship is needed betwwen the calculation name table and any other.
The measure can be like this
Variable Calculation = VAR Costs = SUM ( Sales[Cost] ) //Change with your measure VAR Quantitys = SUM ( Sales[Quantity] ) //Change with your measure VAR Weights = SUM ( Sales[Weight] ) //Change with your measure VAR SelectMeasure = MIN ( CalculationTable[SortID] ) RETURN IF ( HASONEVALUE ( CalculationTable[Calculation Name] ); SWITCH ( SelectMeasure; 1; Costs; 2; Quantitys; 3; Weights ) )Add the [Variable Calculation] measure to any graph and add as filter of slicer the values from the table Calculation Names.
This should work
*Note that you cannot change the format based on selection ( at least not I am aware of )
- davekerbyHelper II
What a great solution. Thanks for sharing this.
- brunozanoeloPost Patron
And how can i format those values in the DAX return?
Example:
50
IF the choice is Price, the value must be seen with brazilian coin format (R$ 50,00).
IF the choice is Quantity, the value must be seen like 50,00
IF the choice is weight, the value must be seen like 50,0000
How can i do that?
Thank's for all!- hmokkapatiHelper II
Hello,
Any idea how the format can be changed?
I have a requirement to change the format of price based on the selection of the Country. Please advise. Also posted the question here
Thank you,
Harisha
- Ankita1310New Member
Thank you for the solution, it was very helpful.
I was wondering if we can do the same for columns(dimensions) instead of measures. i.e. if I want Power BI to group my numeric values for different columns based on a selection (for a bar chart)
For example: for a heatmap, I want to toggle between Product, Customer,State to show the sales amount by Product or by Customer or by State based on the dimesnion selection. I know we can achieve that using the arrow down after creating a hierarchy in the Group , but I was wondering how to do that using a slicer, making it more user friendly.
Thanks for the help in advance!