Forum Discussion

Tomas1212's avatar
Tomas1212
New Member
6 years ago

Average between dates

Hi

I'm trying to calculate the average days elapsed ("orderdate" column)  between order to order, for every customer. How can i do it?

 

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Tomas1212 - Well, you are going to put your "customer" column in a table or matrix visualization and then create a measure that probably uses AVERAGEX at some point. 

     

    Please first check if your issue is a common issue listed here: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

    Also, please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

    The most important parts are:
    1. Sample data as text, use the table tool in the editing bar
    2. Expected output from sample data
    3. Explanation in words of how to get from 1. to 2.

    • Tomas1212's avatar
      Tomas1212
      New Member

      Thanks for your response!
      But I still do not understand how I calculate the difference between the dates in the same column.

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    I would suggest you do this with a calculated column in your order table with an expression like this

     

    Days Since Last Order =
    VAR thisdate = Orders[OrderDate]
    VAR lastorderdate =
        CALCULATE (
            MAX ( Orders[OrderDate] ),
            ALLEXCEPT ( Orders, Orders[Customer] ),
            Orders[OrderDate] < thisdate
        )
    RETURN
        DATEDIFF ( lastorderdate, thisdate, DAY )

     

    Once you have that, you can simply use this as a measure to get your result

     

    Avg Days Between Orders = AVERAGE(Orders[Days Since Last Order]) 

     

    If this works for you, please mark it as the solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat