Forum Discussion
Difference value from previous day to recent date
- 1 year ago
Try the following calculated column
Revision Hours = VAR _job = 'Table'[Job] VAR _tbl = 'Table' -- Latest 2 dates across all jobs VAR _latest2 = TOPN ( 2, VALUES ( 'Table'[Progress Date] ), 'Table'[Progress Date], DESC ) -- Latest 2 dates for this specific job VAR _latest2_job = TOPN ( 2, DISTINCT ( SELECTCOLUMNS ( FILTER ( 'Table', 'Table'[Job] = _job ), "Progress Date", 'Table'[Progress Date] ) ), [Progress Date], DESC ) -- Global latest & previous VAR _latestDate = MAXX ( _latest2, [Progress Date] ) -- Job-specific latest & previous VAR _maxJobDate = MAXX ( _latest2_job, [Progress Date] ) VAR _prevJobDate = MINX ( _latest2_job, [Progress Date] ) -- Hours for the latest date (job-scoped) VAR _latestDateValue = MAXX ( FILTER ( _tbl, [Progress Date] = _maxJobDate && [Job] = _job ), [Hours] ) -- Hours for the previous date (job-scoped) VAR _prevDateValue = MAXX ( FILTER ( _tbl, [Progress Date] = _prevJobDate && [Job] = _job ), [Hours] ) -- Difference VAR _diff = _latestDateValue - _prevDateValue -- Final result VAR _result = SWITCH ( TRUE(), 'Table'[Progress Date] = _latestDate, _diff, 'Table'[Progress Date] = _maxJobDate, 0 ) RETURN _result - 1 year ago
Thankyou, Shahid12523, OktayPamuk80, rohit1991, Kedar_Pande, and danextian for your responses.
Hi AllanBerces,We appreciate your enquiry via the Microsoft Fabric Community Forum.
Based on my understanding of the scenario, please find attached a screenshot and a sample PBIX file which may help to resolve the issue:
We hope the information provided assists in resolving the problem. Should you have any further queries, please feel free to contact the Microsoft Fabric Community.Thank you.
Hi Shahid12523 Kedar_Pande rohit1991 OktayPamuk80 thank you very much for the reply, but mistake on my side. calculate only the difference Hours if the Revision number change from Revision column. cos also happen even has change in hours but same revsion number. thus shall not be include on the calculation of Difference hours.
Thank you
Hi AllanBerces
To handle this, you can add one more helper column for the previous revision number:
Prev Revision # =
VAR j = Data[Job]
VAR p = Data[Prev Date]
RETURN
IF (
ISBLANK ( p ),
BLANK (),
CALCULATE (
MAX ( Data[Revision #] ),
FILTER ( ALL ( Data ), Data[Job] = j && Data[Progress Dt] = p )
)
)
Then update the difference calculation so it only applies when the revision changes:
Diff vs Prev =
IF (
ISBLANK ( Data[Prev Hours] ),
BLANK (),
IF (
Data[Revision #] > Data[Prev Revision #],
Data[Hours] - Data[Prev Hours],
BLANK()
)
)
This way you’ll only see the revision hours when there’s a true revision step, and any changes within the same revision number will be excluded.