Forum Discussion
Anonymous
4 years agoNot applicable
Calculating Difference between Two Days based on a variable
Good Day I need assistance with adding a Calulcated Column to my Database. I need worked hours to take the SMR (Hour Meter) from the day it is recorded and subtract it from the SMR of that "s...
- 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.
v-chenwuz-msft
Community Support
4 years agoHi 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.
Anonymous
4 years agoNot applicable
Hi, 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]
return
CALCULATE(
MAX(DailyProduction[SMR]),
TOPN(1, FILTER(DailyProduction, DailyProduction[EIID] = _EIID && DailyProduction[SMR]<_SMR), DailyProduction[Date], DESC)
)