Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Average Standard deviation calculated per month

Hi I want to calculate a montly standard deviation 

I want to calculate the standard devation in DAX from my fact table but not the SD per row but totalled per month. 
My data looks like this 

CustomerdateSales
A1-1-202320
A15-1-202350
A5-2-202310
A10-3-2023150
1-1-202350
B5-3-2023

1

 

Now I want a DAx formula which first calculates the total sales per month. e.g. for customer A see below and after that calculates the standard deviation per month. 

 

CustomerMonthSales
A1-202370
A2-202310
A3-2023150

 

If i would calculate the st dev using 

STDEV.P(Tabel[Sales])  this gives me 57.35 which is 
  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous ,

     

    According to your description, here are my steps you can follow as a solution.

    (1) My test data is the same as yours.

    (2) We can create a calculated column.

    Month = FORMAT('Table'[date],"yyyy-mm") 

    (3)We can create a measure.

    Measure = calculate(STDEV.P('Table'[Sales]) , filter(allselected('Table'), 'Table'[Month] =max('Table'[Month])))

    (4) Then the result is as follows.

     

     

    If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.

     

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

2 Replies

  • some_bih's avatar
    some_bih
    Icon for Community Champion rankCommunity Champion

    Hi Anonymous one altenative is to use function  STDEVX.P, link STDEVX.P function (DAX) - DAX | Microsoft Learn

    Create Date table and connect it to get monthly view in table with slicer for months and customer, also measure. You did not provide data what you expect as your sample is practically useless. Hope this help

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    According to your description, here are my steps you can follow as a solution.

    (1) My test data is the same as yours.

    (2) We can create a calculated column.

    Month = FORMAT('Table'[date],"yyyy-mm") 

    (3)We can create a measure.

    Measure = calculate(STDEV.P('Table'[Sales]) , filter(allselected('Table'), 'Table'[Month] =max('Table'[Month])))

    (4) Then the result is as follows.

     

     

    If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.

     

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly.