Forum Discussion
Current vs Previous value, not dependent on base value
Hi,
I'm wondering if there's a way for me to have a chart displaying one value over time, with a bar below showing the difference between the current and previous value, BUT i want to be able to change the base value between different values?
Let's say I have 15 different sets of values that I want to present this way, so instead of me making 15 different calculated measures, one for each value, I wonder if there's some sort of way for me to make a column/measure or something that does what I'm after? And then I can just click and change between the values that I want.
The only constant are the time values.
Hope this made any sense and thanks for any help.
To clarify: Ability to switch between different values to present both line for values and bars for increase or decrease of the value.
Thanks
Hi Anonymous
I gave you some erroneous code previously (I hadn't tested it - i was making extrapolations from other similar work I've done, but I had some false assumptions).
Points 1-3 in the above reply still hold - please review them. However, now we need to modify the measures.
For transparency, we'll use 3 measures. I'll talk about where they can be combined afterwards
TodaysValue= SWITCH( [MType]; "BJ-HÖ1"; AVERAGE(Blad1[BJ-HÖ1]); "BJ-MÄ"; AVERAGE(Blad1[BJ-MÄ]); "BJ-TS1"; AVERAGE(Blad1[BJ-TS1]); etc ) PrevDayValue = CALCULATE([TodaysValue]; PREVIOUSDAY(DateTimeTab[Date])) Measure Delta = [TodaysValue] - [PrevDayValue]The mistake was thinking we could store some of the complex code in variables and use the code again further down in the measure. I think we can really only have a minimum of 2 measures, unless you want to replicate a lot of code:
TodaysValue= SWITCH( [MType]; "BJ-HÖ1"; AVERAGE(Blad1[BJ-HÖ1]); "BJ-MÄ"; AVERAGE(Blad1[BJ-MÄ]); "BJ-TS1"; AVERAGE(Blad1[BJ-TS1]); etc ) Measure Delta =
//NOTE That variables are not needed here - just showing for illustrative purposes VAR __Todaysvalue = [TodaysValue]
VAR __PrevValue = CALCULATE([TodaysValue], PREVIOUSDAY(DateTimeTab[Date]) RETURN __Todaysvalue - __PrevValue
//You could do the following without any variables and get the same results
//Measure Delta = [TodaysValue] - CALCULATE([TodaysValue], PREVIOUSDAY(DateTimeTab[Date])Hope this finally gets you to where you need to be. Sorry for the earlier confusion.
David
24 Replies
- dedelman_clngCommunity Champion
If I understand your issue correctly, try this pattern:
Slicer/button to choose your value
MType = SELECTEDVALUE(Slicer[Field])
Measure for bar or line
Bar/Line Value = SWITCH ( [MType], "Value1", [Measure 1], "Value2", [Measure 2], ... )Hope this helps
David
- AnonymousNot applicableSpoiler
dedelman_clng wrote:If I understand your issue correctly, try this pattern:
Slicer/button to choose your value
MType = SELECTEDVALUE(Slicer[Field])
Measure for bar or line
Bar/Line Value = SWITCH ( [MType], "Value1", [Measure 1], "Value2", [Measure 2], ... )Hope this helps
David
Thank you, that will for sure help me with one part of my problem, but I'm still unsure as how to get the value difference working?
- dedelman_clngCommunity Champion
You can make [Measure 1], [Measure 2], etc as complex as you want to or need to. Getting a "previous" value is going to depend on what you mean by previous. Can you give some sample data and expected results?
Also, see this post on how to get the most out of the forums and get your question answered quickly:
https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490