Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
rogerdea
Helper IV
Helper IV

Average days between dates and locations

I've seen a few topics on this but nothing specific to what i am trying to achieve.

 

What i am trying to do is, for each location in my data, measure the average number of days between dates for each entry by that location.

 

So in the sample data attached, I am trying to build a table visualisation which will list each location, and then give me the average days between each date.  However, there can be duplicate days for each location (which is correct) but if this is the case then the duplicates can be ignored as it doesnt matter how many entries are the same date.

 

So I am aiming for something in a table that looks like:

Telford   5.4 days

Bournemouth  8.1 days

London  9.1 days

 

Does this make sense?  The data is:

 

Sample BI Data.PNG

 

Thanks

1 ACCEPTED SOLUTION

@rogerdea Give this a try.  You will need to change the name of your table in the measure.

Avg Days in Location = 
    AVERAGEX ( 
        VALUES ( 'Table'[Location] ),
        CALCULATE(
            DIVIDE (
                DATEDIFF ( MIN ( 'Table'[Date] ), MAX ( 'Table'[Date] ), DAY ),
                COUNTROWS ( 'Table' ) -1
            )
        )
    )

avgdaysinlocation.jpg

View solution in original post

6 REPLIES 6
Mariusz
Community Champion
Community Champion

Hi @rogerdea 


Can explain the logic behind thous figures.

 

Telford   5.4 days

Bournemouth  8.1 days

London  9.1 days

 

Thanks

Mariusz

The figures were just an example not the expected results, i was just showing how the table would look, rather than the actual averages.  I dont have the answer.. yet!

@rogerdea Can you give us the actual expected result for the data in your screenshot?  

Sure i have just worked them out manually in excel and the results are:

 

Telford = 21

London = 26.6

Bournemouth = 30

 

 

Thanks

@rogerdea Give this a try.  You will need to change the name of your table in the measure.

Avg Days in Location = 
    AVERAGEX ( 
        VALUES ( 'Table'[Location] ),
        CALCULATE(
            DIVIDE (
                DATEDIFF ( MIN ( 'Table'[Date] ), MAX ( 'Table'[Date] ), DAY ),
                COUNTROWS ( 'Table' ) -1
            )
        )
    )

avgdaysinlocation.jpg

Thank you its worked perfectly !

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.