Forum Discussion

hbgv123's avatar
hbgv123
Frequent Visitor
4 years ago
Solved

Rolling Months calculation error

Hi,

I have recently started using powerBI. So I need your help to sort my issues.

The  issue is in rolling average calculation where from raw data, i constructed a pivot. 

My expected output is based on pivot and it is basically moving average of 2months.

 

 

I tried in PowerBI using a measure but values are wrong.

Hierarchy is like this Region>Priority Setting>Performance>Docket#(not used in Pivot)>Risk score. Let me know how to tackle this issue?

 

Raw data file in below link

Raw data file and expected output 

 

  • Hi hbgv123 ,

     

    Please try the measure.

     

    Measure = 
    IF (
        MAX ( Sheet1[Month] ) <> BLANK (),
        CALCULATE (
            AVERAGEX (
                VALUES ( 'Calendar'[MonthYear] ),
                CALCULATE ( AVERAGE ( Sheet1[Risk Score] ) )
            ),
            DATESINPERIOD ( 'Calendar'[Date], MAX ( 'Calendar'[Date] ), -2, MONTH ),
            ALLSELECTED ( 'Calendar' )
        )
    )

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
    Best Regards,
    Winniz
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

7 Replies

  • v-kkf-msft's avatar
    v-kkf-msft
    Community Support

    Hi hbgv123 ,

     

    Please try the measure.

     

    Measure = 
    IF (
        MAX ( Sheet1[Month] ) <> BLANK (),
        CALCULATE (
            AVERAGEX (
                VALUES ( 'Calendar'[MonthYear] ),
                CALCULATE ( AVERAGE ( Sheet1[Risk Score] ) )
            ),
            DATESINPERIOD ( 'Calendar'[Date], MAX ( 'Calendar'[Date] ), -2, MONTH ),
            ALLSELECTED ( 'Calendar' )
        )
    )

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
    Best Regards,
    Winniz
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • PC2790's avatar
    PC2790
    Community Champion

    Hey hbgv123 ,

     

    Can you try:

     

    RollingAvg = AVERAGEX(DATESINPERIOD(DatesTable[Date],LASTDATE(DatesTable[Date]),-60,DAY),Sum(Table[Risk Score))

     

      • PC2790's avatar
        PC2790
        Community Champion

        Is this you are looking for?

        RollingAvg =
        VAR NumDays = 2
        VAR _1 =
            CALCULATE (
                AVERAGEX ( VALUES ( Data[Month] ), AVERAGE ( Data[Risk Score] ) ),
                DATESINPERIOD ( Data[Month], LASTDATE ( Data[Month] ), -60, DAY )
            )
        RETURN
            _1 / NumDays