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
cristian-ciia
Regular Visitor

Generate the rolling average excluding the blank cells

Hello everyone,

I am building a financial dashboard with prices of stocks. I have a Dim_Calendar_Table that I use as main calendar. On the other hand, I have other table with Prices, Dates and Names. 

Well, I am trying to get the rolling std deviation but I have a problem, I have weekend days int the Dim_calendar_Table and I don't know how to ignore them in order to calculate the last 4 days for example.

 

cristianciia_0-1658846468802.png

 

4_Day_Rolling_Price = 
VAR DateFilter=
    DATESINPERIOD(
        'Dim_Calendar DAX'[Date],
        MAX('Dim_Calendar DAX'[Date]),
        -4,DAY)
VAR RollingAvg = 
    CALCULATE(
        [Precio],
        DateFilter)
RETURN
    DIVIDE(
        RollingAvg, 
        COUNTROWS(
            FILTER(
                DateFilter,
                    [Precio]<>BLANK()


)))

 

I will appreciate your help!

 

Many thanks! 

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

I tried to create a sample pbix file like below.

Please check the below picture and the attached pbix file.

I hope the below provides some ideas on how to create a solution for your dataset.

 

Untitled.png

 

Four days rolling avg excluding blank: =
VAR _currentdate =
    MAX ( 'Calendar'[Date] )
VAR _beforethancurrentdate =
    ADDCOLUMNS (
        FILTER ( ALL ( 'Calendar' ), 'Calendar'[Date] <= MAX ( 'Calendar'[Date] ) ),
        "@price", [Price measure:]
    )
VAR _filterblank =
    SUMMARIZE (
        FILTER ( _beforethancurrentdate, [@price] <> BLANK () ),
        'Calendar'[Date]
    )
VAR _top4table =
    TOPN ( 4, _filterblank, 'Calendar'[Date], DESC )
RETURN
    CALCULATE ( [Price measure:], _top4table ) / COUNTROWS ( _top4table )

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


View solution in original post

1 REPLY 1
Jihwan_Kim
Super User
Super User

Hi,

I tried to create a sample pbix file like below.

Please check the below picture and the attached pbix file.

I hope the below provides some ideas on how to create a solution for your dataset.

 

Untitled.png

 

Four days rolling avg excluding blank: =
VAR _currentdate =
    MAX ( 'Calendar'[Date] )
VAR _beforethancurrentdate =
    ADDCOLUMNS (
        FILTER ( ALL ( 'Calendar' ), 'Calendar'[Date] <= MAX ( 'Calendar'[Date] ) ),
        "@price", [Price measure:]
    )
VAR _filterblank =
    SUMMARIZE (
        FILTER ( _beforethancurrentdate, [@price] <> BLANK () ),
        'Calendar'[Date]
    )
VAR _top4table =
    TOPN ( 4, _filterblank, 'Calendar'[Date], DESC )
RETURN
    CALCULATE ( [Price measure:], _top4table ) / COUNTROWS ( _top4table )

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


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.

Top Solution Authors