Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hi,
In general, we calculate the Cummulative Total of the values, but my requirement is to get the each day change in value based on Cummulative values. See the attachement.
Left side table is my Main dataset and right side one are the expected result.
How to calculate the change in values based on Running Total, as see the GREEN Color field.
Also, this could be a running total for all Category as well.
Thanks
Shishir
Solved! Go to Solution.
Try this pattern
Calc col = [Value] - MINX ( TOPN ( 1, FILTER ( Table1, [Ctg] = EARLIER ( [Ctg] ) && [Date] < EARLIER ( [Date] ) ), [Date], DESC ), [Value] )
Try this pattern
Calc col = [Value] - MINX ( TOPN ( 1, FILTER ( Table1, [Ctg] = EARLIER ( [Ctg] ) && [Date] < EARLIER ( [Date] ) ), [Date], DESC ), [Value] )
Thanks Zubair for the solution.
I was trying this earlier:
***********************
Var Mx = CALCULATE(MAXX(table, [Value]),
FILTER(table,
[Date] <= EARLIER([Date])
))
Var Mi = CALCULATE(MAXX(Table,[value]),
FILTER(table,
[Date] = MIN([Date])
))
Var diff = Mx- Mi
Return
diff
***************************
Could you please help me to understand the Top 1 use..
Thanks
Shishir
This is how it works for each row to get the previous Cumulative Value
1) First Filter gets a filtered table with all dates less than current row date
2) TOPN on this Filtered Table gets the lastrow from the Filtered Table
3) MINX is used to get the Value on this Date
so basically the flow is MINX<<<TOPN<<<<Filter
Hi Zubair,
I need one more help here.
In the same query, how can I restrict that my 1st min. value must remain ZERO and after that, if any changes in the value, it will calculate it, as the exisiting query working.
Thanks
Shishir G.
Thanks alot for explaination.
Regards
Shishir Goel