Forum Discussion

yforti's avatar
yforti
Helper II
6 years ago
Solved

Help with calculated dates

Hi guys!

I am having a calculation problem for the difference in dates between the steps of my data model.

 

Here's the model:

 

 

I need to calculate the difference in dates between each step, for that I made a measure that didn't work entirely. 

 

Measure created: 

This measure works when I don't use the step in the vision:

We can see above that the calculation is done correctly between the dates.

When I use the step in the table the calculation stops happening:

 

Can someone help me solve this problem?

 

  • yforti 

    you can try to create a column

    Column = 
    VAR last=maxx(FILTER('Table','Table'[DT_atualizacao]<EARLIER('Table'[DT_atualizacao])&&'Table'[personalizar]=EARLIER('Table'[personalizar])),'Table'[DT_atualizacao])
    return if(ISBLANK(last),0,'Table'[DT_atualizacao]-last)

6 Replies

  • yforti 

    please  try this

    Measure = 
    var last=maxx(FILTER(all('Table'),'Table'[DT_atualizacao]<SELECTEDVALUE('Table'[DT_atualizacao])),'Table'[DT_atualizacao])
    return if(ISFILTERED('Table'[DT_atualizacao]),if(ISBLANK(last),0,SELECTEDVALUE('Table'[DT_atualizacao])-MAXX(FILTER(all('Table'),'Table'[DT_atualizacao]=last),'Table'[DT_atualizacao])),CALCULATE(max('Table'[DT_atualizacao]),all('Table'))-CALCULATE(MIN('Table'[DT_atualizacao]),ALL('Table')))

    • yforti's avatar
      yforti
      Helper II

      ryan_mayu 
      Almost!

      Now, the only thing that is still wrong is that we are calculating a difference in days for the start date of the process.

      See below:

       
       

      Since day 23/07/2019 is the first day of the process, we should not calculate the previous day. 
      I think it would be zero.

       

      • ryan_mayu's avatar
        ryan_mayu
        Super User

        yforti 

         

        Measure =
        var last=maxx(FILTER(all('Table'),'Table'[DT_atualizacao]<SELECTEDVALUE('Table'[DT_atualizacao])),'Table'[DT_atualizacao])
        return if(ISFILTERED('Table'[DT_atualizacao]),if(ISBLANK(last),0,SELECTEDVALUE('Table'[DT_atualizacao])-MAXX(FILTER(all('Table'),'Table'[DT_atualizacao]=last),'Table'[DT_atualizacao])),CALCULATE(max('Table'[DT_atualizacao]),all('Table'))-CALCULATE(MIN('Table'[DT_atualizacao]),ALL('Table')))

         

        In the DAX, iI checked if it is the earliest date, if it is , then display 0. please have a try.