Forum Discussion
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
| Customer | date | Sales |
| A | 1-1-2023 | 20 |
| A | 15-1-2023 | 50 |
| A | 5-2-2023 | 10 |
| A | 10-3-2023 | 150 |
| B | 1-1-2023 | 50 |
| B | 5-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.
| Customer | Month | Sales |
| A | 1-2023 | 70 |
| A | 2-2023 | 10 |
| A | 3-2023 | 150 |
If i would calculate the st dev using
- Anonymous3 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
Community 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
- AnonymousNot 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.