Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
spoony
Helper I
Helper I

Moving Average on filtered data

Hi, I got the moving average working as below:

 

 

MovingAverageCost = CALCULATE (
    AVERAGE ('Cost Table'[Cost]),
    DATESINPERIOD (
       'Cost Table'[Month],
        LASTDATE ( 'Cost Table'[Month] ),
        -3,
        MONTH
    )
)

 

But each time i take out certain months with a filter, i need the moving average to ignore those months taken out and calculate a new average based on the filtered months. Is there something i can add to the code to do that? To make it easier its always consecutive, like for [January, February, March, April], if i filter out [January, February],  [March]'s moving average should be equal to its average. 

 

 

 

1 ACCEPTED SOLUTION

Hi @spoony

 

How do you want your data to be used, in a matrix or a Visual?

 

Reason is that this would work below, but I am thinking it might not be exactly what you are looking to achieve.

 

You already have got your Average Measure [Avg]

 

Then you create a new measure which will count the months selected.

Month Count = CALCULATE(
     DISTINCTCOUNT('Cost Table'[Month] ),
          ALLSELECTED('Cost Table'[Month] )
    )

And then if you create this final measure it will then have the total correct, but if in a matrix each line will appear to be incorrect.

Moving Average = DIVIDE([Avg],[Month Count])

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

View solution in original post

4 REPLIES 4
GilbertQ
Super User
Super User

Hi @spoony

 

This is a total guess, but it might work.

 

What about if you modify your measure to the following:

 

MovingAverageCost = CALCULATE (
    AVERAGE ('Cost Table'[Cost]),
    DATESINPERIOD (
       ALLSELECTED('Cost Table'[Month]),
        LASTDATE ( ALLSELECTED('Cost Table'[Month] )),
        -3,
        MONTH
    )
)




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Hi @GilbertQ,

 

It produces an error: Datesbetween and Datesinperiod functions are only accpeting date column reference as a first arguement.

Hi @spoony

 

How do you want your data to be used, in a matrix or a Visual?

 

Reason is that this would work below, but I am thinking it might not be exactly what you are looking to achieve.

 

You already have got your Average Measure [Avg]

 

Then you create a new measure which will count the months selected.

Month Count = CALCULATE(
     DISTINCTCOUNT('Cost Table'[Month] ),
          ALLSELECTED('Cost Table'[Month] )
    )

And then if you create this final measure it will then have the total correct, but if in a matrix each line will appear to be incorrect.

Moving Average = DIVIDE([Avg],[Month Count])

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Hi @GilbertQ, ya it needs to be on a graph and matrix. I'll test it out anyway.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.