Forum Discussion

cottrera's avatar
cottrera
Icon for Post Prodigy rankPost Prodigy
4 years ago
Solved

Days between dates row by row - Power query or DAX?

Hi 

 

I have a table withproperty ref, Job number, Job description, Supplier, Date logged. We have suppliers who carry out repairs at individual properties. Sometimes they will carry out more than one repair at the same property over time.

 

I would like either a power query solution or DAX function that check the property reference , job desctiption and supplier name.

If these appear more than once I would like to calculate the number of days from when the job was previously logged. Row by Row.

Some properties will have up to 10 jobs logged agains them. In this example there are 2 properties each one has a the same supplier who carried out 4 repairs. The last column is the result that I would expect

 

The example below is a snapshot of the table  

Property RefJob#Job DescriptionSupplier NameDate LoggedDays between last Date Logged
1861736909694Electrical HeaterACME23/03/20211st Job
1861737054670Electrical HeaterACME08/06/202177
1861737085419Electrical HeaterACME25/06/202117
1861737134547Electrical HeaterACME20/07/202125
802186779047Roof RepairGFS Roofers19/01/20211st Job
802186929155Roof RepairGFS Roofers06/04/202177
802186960307Roof RepairGFS Roofers22/04/202116
802187156921Roof RepairGFS Roofers28/07/202197

 

thank you 

Richard

  • cottrera , Try a new column like

    New column =

    var _max = maxx(filter(Table, [Property Ref] = earlier([Property Ref]) && [Date Logged] < earlier( [Date Logged] ) ),[ [Date Logged] )
    return
    datediff([Date Logged],_max, day)

     

     

2 Replies

  • cottrera , Try a new column like

    New column =

    var _max = maxx(filter(Table, [Property Ref] = earlier([Property Ref]) && [Date Logged] < earlier( [Date Logged] ) ),[ [Date Logged] )
    return
    datediff([Date Logged],_max, day)