Forum Discussion
Get previous date values
Hi Guys,
I have a table that contains a report date and values for that date. The dates are unique in the table.
In the visual I would like to highlight the differences of Amount 1 (Report date-Prev. Report Date) and Amount 2 (Report date-Prev. Report Date) .
I was successful in determining the previous report date, however, I can't determin the previous amounts (or at least the difference)
Actually the difference would also work.
Table1:
| Report Date | Amount1 | Amount2 | Prev. Report Date | Prev. Amount1 | Prev. Amount2 |
| 17.03.2021 | 50 | 154 | 15.03.2021 | 24 | 148 |
| 15.03.2021 | 24 | 148 | 14.03.2021 | 185 | 23 |
| 14.03.2021 | 185 | 23 | 20.02.2021 | 33 | 885 |
| 20.02.2021 | 33 | 885 |
Any idea how I can add this information to my table using DAX? Or a Measure?
Thanks in advance.
Hi,
pls see below:
PrevAmount = VAR _selDate = SELECTEDVALUE(DimDate[Date]) VAR _maxDate = CALCULATE(LASTNONBLANK(DimDate[Date], CALCULATE(SUM('Table'[Amount1]))), FILTER(ALLSELECTED(DimDate), [Date] < _selDate)) RETURN IF(NOT(ISBLANK(SUM('Table'[Amount1]))), CALCULATE(SUM('Table'[Amount1]), FILTER(ALLSELECTED(DimDate),DimDate[Date] = _maxDate)), BLANK())Kind regards, Steve.
4 Replies
- amitchandak
Super User
TheHans , Try a measure like
calculate(sum(Table[Amount1]), filter(allselected(Table), Table[Date] =calculate(max(Table[Date]),filter(allselected(table), [Date] <max([Date])))))
- TheHans
Helper I
Hi Amit,
thanks for the quick reply. I get as a result 24 for every row.
Is there a way to add new columns as in my example "Prev. Amount1" and "Prev. Amount1" which is calculated out of the existing data in the table?
Basically the result of this should look like in the sample table above.
Hans
- stevedep
Memorable Member
Hi,
pls see below:
PrevAmount = VAR _selDate = SELECTEDVALUE(DimDate[Date]) VAR _maxDate = CALCULATE(LASTNONBLANK(DimDate[Date], CALCULATE(SUM('Table'[Amount1]))), FILTER(ALLSELECTED(DimDate), [Date] < _selDate)) RETURN IF(NOT(ISBLANK(SUM('Table'[Amount1]))), CALCULATE(SUM('Table'[Amount1]), FILTER(ALLSELECTED(DimDate),DimDate[Date] = _maxDate)), BLANK())Kind regards, Steve.
- TheHans
Helper I
Hey Steve,
thanks a lot. Appreciate your support.
Hans