Forum Discussion

juli__sia123412's avatar
juli__sia123412
Frequent Visitor
7 years ago
Solved

Average days between orders

Question is simple, but I'm totally lost.

I have the next data:

buyerID - OrderId - Rank (1,2,3...meant order index)  - Purchase date 

123       - 123347      - 1                                                 - 1/1/2019

123       - 123354      - 2                                                 - 1/3/2019

143       - 145347      - 1                                                 - 1/2/2019

145       - 168437      - 1                                                 - 1/1/2019

 

I need to calculate AVG numbers of days between orders using measure

Thanks!

  • juli__sia123412 

     

    you would first need to create a calculated column that gets the difference in days between orders

     

    DateDiff Previous TransactiondDate =
    DATEDIFF(
    CALCULATE(
    max(Table2[Purchase date])
    ,FILTER(
    ALL('Table2')
    ,Table2[buyerID] = EARLIER(Table2[buyerID]) && 'Table2'[Purchase date] < EARLIER(Table2[Purchase date]) )), Table2[Purchase date], day)
     
    then you can do an avg on that difference with a calculated measure
     
    avg = CALCULATE(AVERAGE(Table2[DateDiff Previous TransactiondDate]))
     
     

2 Replies

  • vanessafvg's avatar
    vanessafvg
    Community Champion

    juli__sia123412 

     

    you would first need to create a calculated column that gets the difference in days between orders

     

    DateDiff Previous TransactiondDate =
    DATEDIFF(
    CALCULATE(
    max(Table2[Purchase date])
    ,FILTER(
    ALL('Table2')
    ,Table2[buyerID] = EARLIER(Table2[buyerID]) && 'Table2'[Purchase date] < EARLIER(Table2[Purchase date]) )), Table2[Purchase date], day)
     
    then you can do an avg on that difference with a calculated measure
     
    avg = CALCULATE(AVERAGE(Table2[DateDiff Previous TransactiondDate]))