Forum Discussion
Calculate/Substract values based on snapshot data from the same column
- 5 years ago
- 5 years ago
Hi, Anonymous ;
Please try it.
Difference = VAR _MAX =MAXX ( ALLSELECTED ( 'Table' ), [Date] ) VAR _MIN =MINX ( ALLSELECTED ( 'Table' ), [Date] ) VAR _summax = CALCULATE ( SUM ( [Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MAX ) ) VAR _summin= CALCULATE ( SUM ( [Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MIN ) ) VAR _sum= CALCULATE (SUM ( [Value] ),FILTER ( ALLSELECTED ( 'Table' ),[Contract] = MAX ( [Contract] )&& [Date] = _MAX)) VAR _total = IF (ISINSCOPE ( 'Table'[Contract] ),_sum- SUM ( [Value] ),_summax- SUM ( [Value] )) RETURN IF ( HASONEVALUE ( 'Table'[Date] ), _total, _summax-_summin)The final output is shown below:
Best Regards,
Community Support Team_ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. - 5 years ago
Hi, Anonymous ;
Sorry for the late reply, if you want show 0 , it should be create a new table.
1.create a new table.
Table 2 = VALUES('Table'[Date])2.create two measures
value = var _reault=CALCULATE(SUM('Table'[Value]),FILTER(ALLSELECTED('Table'), [Contract] in VALUES('Table'[Contract])&& [Date] in VALUES('Table 2'[Date]))) return IF(_reault<>BLANK(),_reault,0)Difference2 = VAR _MAX =MAXX ( ALLSELECTED ( 'Table 2' ), [Date] ) VAR _MIN =MINX ( ALLSELECTED ( 'Table 2' ), [Date] ) VAR _summax = CALCULATE ([value], FILTER ( ALLSELECTED ( 'Table 2' ), [Date] = _MAX ) ) VAR _summax1 = CALCULATE ( SUM ( 'Table'[Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MAX ) ) VAR _summin= CALCULATE ( SUM ( 'Table'[Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MIN ) ) RETURN IF ( HASONEVALUE ( 'Table 2'[Date] ), _summax- [value], _summax1-_summin)The final output is shown below:
Best Regards,
Community Support Team_ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi, Anonymous ;
Please try it.
Difference =
VAR _MAX =MAXX ( ALLSELECTED ( 'Table' ), [Date] )
VAR _MIN =MINX ( ALLSELECTED ( 'Table' ), [Date] )
VAR _summax =
CALCULATE ( SUM ( [Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MAX ) )
VAR _summin=
CALCULATE ( SUM ( [Value] ), FILTER ( ALLSELECTED ( 'Table' ), [Date] = _MIN ) )
VAR _sum=
CALCULATE (SUM ( [Value] ),FILTER ( ALLSELECTED ( 'Table' ),[Contract] = MAX ( [Contract] )&& [Date] = _MAX))
VAR _total =
IF (ISINSCOPE ( 'Table'[Contract] ),_sum- SUM ( [Value] ),_summax- SUM ( [Value] ))
RETURN IF ( HASONEVALUE ( 'Table'[Date] ), _total, _summax-_summin)
The final output is shown below:
Best Regards,
Community Support Team_ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Anonymous5 years agoNot applicable
Hi Yalan,
This helps me a lot thank you!
I only seem to stumble when a new contract is made in a later date.
Example table:
Date Dateorder Contract Value 06-08-2021 3 P001 10 06-08-2021 3 P002 12 07-08-2021 2 P001 11 07-08-2021 2 P002 12 08-08-2021 1 P001 12 08-08-2021 1 P002 13 08-08-2021 1 P003 12 P003 wasn't there earlier so naturally it tries to compare with nothing:
A fix for this would be to have the value which is empty to be filled by 0 but I can't figure it out where to modify the measure to do this.
Do you have suggestions? Thanks in advance!