Forum Discussion
Identify if value has changed over time with same ID
- 4 years ago
Hi dswallow
Thanks for reaching out to us.
You can try this, create the column below
Milestone changed and value = var _maxdate= CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'),'Table'[ID]=EARLIER('Table'[ID]))) var _predate= CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'), 'Table'[Date]<_maxdate && 'Table'[ID]=EARLIER('Table'[ID]))) var _cur='Table'[Milestone] var _pre= CALCULATE(MAX('Table'[Milestone]),FILTER(ALL('Table'),'Table'[ID]=EARLIER('Table'[ID]) && 'Table'[Date]= _predate)) return IF('Table'[Date]=_maxdate,IF(_cur=_pre,"No change", "Changed, pre="&_pre&", cur="& _cur))result
Best Regards,
Community Support Team _Tang
If this post helps, please consider Accept it as the solution to help the other members find it more quickly.
Hello, is there a way to provide a second date value for the records that only have one date? possibly using a date table or DateNow(). or have the value of No Change when the record does not have 2 dates.
for the records with only one date, my result shows "Changed, Pre=,Cur=MyValue" I'm guessing it's showing Changed because it's comparing Pre(no value) to Cur(has a value).
otherwise it works perfect for my data, thanks
Use COALESCE to fill in a meaningful replacement for missing data.
- Anonymous4 years agoNot applicable
Hello, thamks for the response. Where would I insert COALESCE ?
Milestone changed and value = var _maxdate= CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'),'Table'[ID]=EARLIER('Table'[ID]))) var _predate= CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'), 'Table'[Date]<_maxdate && 'Table'[ID]=EARLIER('Table'[ID]))) var _cur='Table'[Milestone] var _pre= CALCULATE(MAX('Table'[Milestone]),FILTER(ALL('Table'),'Table'[ID]=EARLIER('Table'[ID]) && 'Table'[Date]= _predate)) return IF('Table'[Date]=_maxdate,IF(_cur=_pre,"No change", "Changed, pre="&_pre&", cur="& _cur))- lbendlin4 years ago
Super User
whereever your measure returns BLANK()
- Anonymous4 years agoNot applicable
I just guessing here, but believe the blanks are in both variables that use EARLIER because there is only one date for the records that return blank, for example where would coalesce go
CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'), 'Table'[Date]<_maxdate && 'Table'[ID]=EARLIER('Table'[ID])))do I wrap coalesce like COALESCE( CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'), 'Table'[Date]<_maxdate && 'Table'[ID]=EARLIER('Table'[ID]))))