Forum Discussion

AU555's avatar
AU555
Helper I
6 years ago
Solved

Substracting values in same columns based on date column

Hi everybody, I hope I could get a little help here.

I need a help to create following calculated column and that is "compared" in my sample table. We generate new dates for actual and planned finish once a month - hence the reporting date. For each reporting month, the dates for actual and planned finish might differ, as is shown in the table. In my date diff column I am calculating actual finish - planned finish. The "date difference previous reporting month" column is the same, just accounting for dates recorded previosu reporting month - actual finish -1 and planned finish -1. Now my question comes: I need to compare those two date differences to show if we have worsen in following the deadlines or on the other hand if we improved. therefore I need to substract "date diff" minus "date difference previous reporting month". What I did I thought is correct was to merge these two differences in one columns, as I thought it would be easier to substract them like this. But I have been only capable of making calculation to substract the smallest value from the biggest value:
Change days column =
var min_value = CALCULATE(MIN(table[merged date difference]); ALLEXCEPT(table; table[product])
var max_value = CALCULATE(MAX(table[merged date difference]); ALLEXCEPT(table; table[product])
return
min_value - max_value

But it is not always the case that "date diff" is the smalles, as for example in the last product. I always need to substract date diff - datw difference previous reporting month.
Can comebody help me, I got a bit stuck.

  • Anonymous's avatar
    Anonymous
    6 years ago

    AU555 

    Column =
    VAR PrevDate = CALCULATE(MAX(Test[ReportingDate]),FILTER(ALL(Test[ReportingDate]),Test[ReportingDate]<MAX(Test[ReportingDate])),ALLEXCEPT(Test,Test[Product]))
    VAR PrevValue = CALCULATE(SUM(Test[PrevDateDiff]),Test[ReportingDate]=PrevDate,ALLEXCEPT(Test,Test[Product]))
    RETURN CALCULATE(SUM(Test[DateDiff])-PrevValue,ALLEXCEPT(Test,Test[Product]))

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    AU555 

    Column =
    VAR PrevDate = CALCULATE(MAX(Test[ReportingDate]),FILTER(ALL(Test[ReportingDate]),Test[ReportingDate]<MAX(Test[ReportingDate])),ALLEXCEPT(Test,Test[Product]))
    VAR PrevValue = CALCULATE(SUM(Test[PrevDateDiff]),Test[ReportingDate]=PrevDate,ALLEXCEPT(Test,Test[Product]))
    RETURN CALCULATE(SUM(Test[DateDiff])-PrevValue,ALLEXCEPT(Test,Test[Product]))
    • AU555's avatar
      AU555
      Helper I

      Than you so much, works just as i wanted to! :)