Forum Discussion
Calculating Difference between Two Days based on a variable
- 4 years ago
Hi Anonymous ,
You can use VAR to improve preformance.
Previous SMR = VAR _t = TOPN ( 1, FILTER ( DailyProduction, DailyProduction[EIID] = EARLIER ( DailyProduction[EIID] ) && DailyProduction[SMR] < EARLIER ( DailyProduction[SMR] ) ), [Date], DESC ) RETURN MAXX ( _t, [SMR] )Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Just to expand, I woudl essentally want the 6911 to rather be the result of the 16298-16294. Then the 2nd line would need to subtract 16294 from the lowest in the shift which would be 16293.
Would it be easier to use a function that sorts the data before calculating?
- v-chenwuz-msft4 years agoCommunity Support
Hi Anonymous ,
Don't quite understand your explanation. Can you give simple data and include the expected output values? It is best to share it in a tabular format.
Or you can try this expression:
Column = VAR _last = TOPN ( 1, FILTER ( 'Table', [EIID] = EARLIER ( 'Table'[EIID] ) && [date&shift] < EARLIER ( 'Table'[date&shift] ) ), [date&shift], DESC ) RETURN IF ( COUNTROWS ( _last ) > 0, [Shift] - MAXX ( _last, [Shift] ) )Result:
Pbix in the end you can refer.
Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Anonymous4 years agoNot applicableHi, that formula doesn't seem to be working, it just generates "-1" in all the columns.I have managed to come up with a formula that works. The only issue is that that data set is over 1m lines, and processing this column takes almost all my memory and 10 minutes to run.Previous SMR =var _EIID = DailyProduction[EIID]var _SMR = DailyProduction[SMR]returnCALCULATE(MAX(DailyProduction[SMR]),TOPN(1, FILTER(DailyProduction, DailyProduction[EIID] = _EIID && DailyProduction[SMR]<_SMR), DailyProduction[Date], DESC))
- v-chenwuz-msft4 years agoCommunity Support
Hi Anonymous ,
You can use VAR to improve preformance.
Previous SMR = VAR _t = TOPN ( 1, FILTER ( DailyProduction, DailyProduction[EIID] = EARLIER ( DailyProduction[EIID] ) && DailyProduction[SMR] < EARLIER ( DailyProduction[SMR] ) ), [Date], DESC ) RETURN MAXX ( _t, [SMR] )Best Regards
Community Support Team _ chenwu zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.