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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
zgoodman
Regular Visitor

Moving Average

Hello, I am able to get a moving average using this formula:

^cpc_3_week = CALCULATE (
    AVERAGEX ( 'Query1', Query1[^cpc] ),
    DATESINPERIOD (
        Query1[isodate],
        LASTDATE ( Query1[isodate] ),
        -21,
        day
    )
)

As you can see here this gives me what I am looking for:

CPC.PNG

However, when I use the same formula for other moving averages it doesn't work. The only thing I am changing is "Query1[^cpc]" and this is the result:

CTR.PNG

Anyone know what the issue might be? Thanks!

6 REPLIES 6
v-ljerr-msft
Microsoft Employee
Microsoft Employee

Hi @zgoodman,

 

Could you post your table structures with some sample/mock which can help us to reproduce the issue? So that we can help further investigate on it. It's better that you can just share a sample pbix file. You can upload it to OneDrive or Dropbox and post the link here. Do mask sensitive data before uploading. Smiley Happy

 

Regards

I found the issue. It turns out that the x-axis on my tables was by week and the calculation in my measure was by day. I didn't realize this was an issue but glad it is solved.

 

However, this presents a new problem. I need this average but I also need to be able to display it in weekly form. It appears in my measue Day, Month, Quarter, and Year are the only ways I can calculate this. Is there any way I can do it by week instead?

Hi @zgoodman,


However, this presents a new problem. I need this average but I also need to be able to display it in weekly form. It appears in my measue Day, Month, Quarter, and Year are the only ways I can calculate this. Is there any way I can do it by week instead?


In this scenario, you can firstly create a custom hierarchy with your Year, Quarter, Month, WeekNum, Date column, then you should be able to use this new created hierarchy to get your expected result. Smiley Happy

 

r6.PNG

 

Regards

This looks great! Is there a way for me to label the week as the date at the beginnign of the week instead of the week number?

Hi @zgoodman,




Yes, there is. You should be able to use the formula below to create a new calculate column in your Date table.

FirstDayOfWeek = CALCULATE(FIRSTDATE('Date'[Date]),ALLEXCEPT('Date','Date'[WeekNo]))

c2.PNG

 

Then you can use the 'FirstDayOfWeek' column to create the custom hierarchy. Smiley Happy

 

r2.PNG

Regards

It appears that becasue I am calculating the average using days instead of weeks I am still having the original problem of the graph looking funky when I display it in week form. Is there a way to do the actual calculation as 3 weeks instead of 21 days. Again, here is the formula:

 

^cpc_3_week = CALCULATE (
    AVERAGEX ( 'Query1', Query1[^cpc] ),
    DATESINPERIOD (
        Query1[isodate],
        LASTDATE ( Query1[isodate] ),
        -21,
        day
    )
)

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.