Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello,
using DAX I am trying to execute following sequece:
I have following DAX Measure:
Average weekly business won volume =
AVERAGEX(
SUMMARIZE(
FILTER(
BusinessCases,
BusinessCases[Status] = "Won" &&
BusinessCases[Date type] = "Closed"
),
Calendar[Week number],
"SummarizedResult", SUMX(BusinessCases, BusinessCases[Ammount])
),
[SummarizedResult]
)
The measure works fine when there are records in the BusinessCases table meeting the filtering conditions.
But when there are no records meeting the conditions, the result of the SUMMARIZE function does not contain the specific week number at all which distorts the result of the AVERAGEX function then.
Example: assuming in week number 2 there are no records in BusinessCases table meeting conditions
Week number | SummarizedResult |
1 | 6000 |
3 | 4000 |
4 | 2000 |
Weekly average | 4000 |
Week number | SummarizedResult |
1 | 6000 |
2 | 0 |
3 | 4000 |
4 | 2000 |
Weekly average | 3000 |
Could you please help me to adjust the DAX formula above to change the behaviour that instead of skipping the weeks with empty records input, the 0 value for the specific week is returned to enable proper AVERAGE calculation?
Thank you
Jakub Albrecht
Solved! Go to Solution.
I would start with a full set of weeks and then calculate amount along these lines:
Average weekly business won volume =
VAR _FullWeeks_ = VALUES ( Calendar[Week number] )
VAR _Avg =
AVERAGEX (
_FullWeeks_,
CALCULATE (
SUM ( BusinessCases[Ammount] ),
BusinessCases[Status] = "Won",
BusinessCases[Date type] = "Closed"
) + 0
)
RETURN
_Avg
You might need something more sophisticated for _FullWeeks_ as I'm not sure how the min and max week numbers are determined in your scenario.
please try
Average weekly business won volume =
AVERAGEX (
SUMMARIZE (
FILTER (
BusinessCases,
BusinessCases[Status] = "Won"
&& BusinessCases[Date type] = "Closed"
),
Calendar[Week number],
"SummarizedResult", SUMX ( BusinessCases, BusinessCases[Ammount] )
),
[SummarizedResult] + 0
)
Hi @tamerj1 ,
thank you for your suggestion. These were my first ideas of the solution too, but unfortunately this does not work 😞
Suggested solution adds 0 to every single row generated by the SUMMARIZE function, but unfortunately does not force SUMMARIZE function to avoid ommiting rows for weeks with no records.
When I use my example, the suggested solution results in following - week number 2 still missing:
Week number | SummarizedResult |
1 | 6000 + 0 |
3 | 4000 + 0 |
4 | 2000 + 0 |
Weekly average | 4000 |
Average weekly business won volume =
AVERAGEX (
VALUES ( Calendar[Week number] ),
CALCULATE (
SUM ( BusinessCases[Ammount] ),
FILTER (
BusinessCases,
BusinessCases[Status] = "Won"
&& BusinessCases[Date type] = "Closed"
)
) + 0
)
Hello @tamerj1 , thank you very much for the update. We are pretty close - for every single week the calculation works as expected (incl. 0 values instead of skipped rows) but the final average return the sum of the weekly values instead of average values.
But modificated solution provided by @AlexisOlson bellow (ommited FILTER function) works perpectly.
Thank you very much to both of you!
I would start with a full set of weeks and then calculate amount along these lines:
Average weekly business won volume =
VAR _FullWeeks_ = VALUES ( Calendar[Week number] )
VAR _Avg =
AVERAGEX (
_FullWeeks_,
CALCULATE (
SUM ( BusinessCases[Ammount] ),
BusinessCases[Status] = "Won",
BusinessCases[Date type] = "Closed"
) + 0
)
RETURN
_Avg
You might need something more sophisticated for _FullWeeks_ as I'm not sure how the min and max week numbers are determined in your scenario.
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
23 | |
10 | |
10 | |
9 | |
7 |