Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi,
I posted a question on this forum a while back regarding getting 3 month rolling average data (answered by @Jihwan_Kim😞 Solved: 3 month rolling data visual - Microsoft Power BI Community
The attached .pbix was provided with the following DAX measure:
However this doesn't seem to be giving me the correct average values in the table visual:
.pbix file:
https://www.dropbox.com/s/gwid24yyo4isxtx/arslanmanzoor.pbix?dl=0
For example, for May 2021, task A, the raw data values are 42, 42, 42, so should give an average value of 42. However in the visual I am getting an average of 40.63.
Is there a mistake in the DAX formula?
Thanks in advance!
Solved! Go to Solution.
Hi @ArslanManzoor ,
The measure you are calculating is the average value of the previous 3 months in this case you are getting for may the values between February and April and making the average so the data is:
If you make the average you get the 40.63.
To what I read you want to have the values of the montlhy average on the last 3 month so you want that if the value is on the last 3 month show the average otherwise do not show.
Redo your measure to:
TimeTakenAverageValue =
VAR MaxFactDate =
CALCULATE ( MAX ( 'Calendar'[Date] ), ALL ( 'Calendar' ) )
VAR Edate =
EDATE ( MaxFactDate, -2 )
RETURN
SWITCH (
TRUE (),
SELECTEDVALUE ( AxisTable[Month & Year] ) = "Current",
CALCULATE (
[Time Taken Avg],
FILTER (
ALL ( 'Calendar' ),
'Calendar'[Month & Year] <> MAX ( 'Calendar'[Month & Year] )
)
),
MAX ( 'Calendar'[Date] ) <= MaxFactDate
&& MAX ( 'Calendar'[Date] ) >= Edate, CALCULATE ( AVERAGE ( Data[Time taken] ) )
)
check result below and in attach PBIX file.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @ArslanManzoor ,
The measure you are calculating is the average value of the previous 3 months in this case you are getting for may the values between February and April and making the average so the data is:
If you make the average you get the 40.63.
To what I read you want to have the values of the montlhy average on the last 3 month so you want that if the value is on the last 3 month show the average otherwise do not show.
Redo your measure to:
TimeTakenAverageValue =
VAR MaxFactDate =
CALCULATE ( MAX ( 'Calendar'[Date] ), ALL ( 'Calendar' ) )
VAR Edate =
EDATE ( MaxFactDate, -2 )
RETURN
SWITCH (
TRUE (),
SELECTEDVALUE ( AxisTable[Month & Year] ) = "Current",
CALCULATE (
[Time Taken Avg],
FILTER (
ALL ( 'Calendar' ),
'Calendar'[Month & Year] <> MAX ( 'Calendar'[Month & Year] )
)
),
MAX ( 'Calendar'[Date] ) <= MaxFactDate
&& MAX ( 'Calendar'[Date] ) >= Edate, CALCULATE ( AVERAGE ( Data[Time taken] ) )
)
check result below and in attach PBIX file.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsThis is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
77 | |
76 | |
57 | |
36 | |
34 |
User | Count |
---|---|
99 | |
56 | |
56 | |
46 | |
40 |