cancel
Showing results for
Did you mean:
Helper I

weighted average date

Hi,

I'm working with a sales table that has three main columns: Amount sold; day sold; and day payed. I'd like to know what is the average days that I take between sell a product and be payed, but I would like as well to do a weighted average.

It was supposed to be something like this: SUMX( (Amount Sold) * (Day payed - day sold) / (Total Amount sold).

How can I do a measure that return me directly this result?

1 ACCEPTED SOLUTION
Super User I

Hi @mpoppes

Yes, that's exactly the idea.

In DAX, I would write something like this:

``````Average days sold-paid =
VAR TotalAmountSold =
SUM ( Sales[Amount Sold] )
RETURN
DIVIDE (
SUMX ( Sales, ( Sales[Day Paid] - Sales[Day Sold] ) * Sales[Amount Sold] ),
TotalAmountSold
)``````

Another version that could improve performance depending on distribution of your dates, especially if you have the same pairs of dates occurring repeatedly:

``````Average days sold-paid =
VAR TotalAmountSold =
SUM ( Sales[Amount Sold] )
RETURN
DIVIDE (
SUMX (
SUMMARIZE ( Sales, Sales[Day Paid], Sales[Day Sold] ),
( Sales[Day Paid] - Sales[Day Sold] )
* CALCULATE ( SUM ( Sales[Amount Sold] ) )
),
TotalAmountSold
)``````

Regards,

Owen

Owen Auger

My Blog
2 REPLIES 2
Super User I

Hi @mpoppes

Yes, that's exactly the idea.

In DAX, I would write something like this:

``````Average days sold-paid =
VAR TotalAmountSold =
SUM ( Sales[Amount Sold] )
RETURN
DIVIDE (
SUMX ( Sales, ( Sales[Day Paid] - Sales[Day Sold] ) * Sales[Amount Sold] ),
TotalAmountSold
)``````

Another version that could improve performance depending on distribution of your dates, especially if you have the same pairs of dates occurring repeatedly:

``````Average days sold-paid =
VAR TotalAmountSold =
SUM ( Sales[Amount Sold] )
RETURN
DIVIDE (
SUMX (
SUMMARIZE ( Sales, Sales[Day Paid], Sales[Day Sold] ),
( Sales[Day Paid] - Sales[Day Sold] )
* CALCULATE ( SUM ( Sales[Amount Sold] ) )
),
TotalAmountSold
)``````

Regards,

Owen

Owen Auger

My Blog
Helper I

Thanks Bro, you were awesome! It worked perfect

Announcements