Forum Discussion

alisoroush77777's avatar
alisoroush77777
New Member
3 years ago

find the difference date between two unique car number

hi

I have a table that has 2 columns in it. one is car number and another is repair date. I have 5 car that is repaired regularly and each time the car number and repair date is addet into this table considering that each row represent one repair for one car number. Now I want to calculate the average time (day) between two repair for each car number.

How can I implement this in power BI? With DAX or M?

Any comment is appreciated.

3 Replies

  • You will need a column which uniquely identifies each row. If you don't have one already you can use Power Query to add an index column. In the modelling view you need to select the table and mark the unique column as the key column for the table.

    Then you could create a measure like

    Avg days between repair =
    AVERAGEX (
        'Table',
        VAR CurrentRow =
            ROWNUMBER (
                ALL ( 'Table' ),
                ORDERBY ( 'Table'[Repair date], ASC ),
                PARTITIONBY ( 'Table'[Car number] )
            )
        RETURN
            IF (
                CurrentRow > 1,
                VAR CurrentDate = 'Table'[Repair date]
                VAR PrevDate =
                    SELECTCOLUMNS (
                        OFFSET (
                            -1,
                            ALL ( 'Table' ),
                            ORDERBY ( 'Table'[Repair date], ASC ),
                            PARTITIONBY ( 'Table'[Car number] )
                        ),
                        "@repair date", 'Table'[Repair date]
                    )
                RETURN
                    DATEDIFF ( PrevDate, CurrentDate, DAY )
            )
    )
    
  • You need to update your version of Power BI desktop. ROWNUMBER is fairly new but OFFSET was in the December release.