Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Moving Average with fixed first date

Dear Community,

 

How can I count a kind of a moving averge that works likes this: First date is fixed and the average is counted on adding every next date's data as it procceeds. For example:

I have   Date  

 ABCDE
1IDDate WeightsBox weightWeight / pack
2111101/01/202242513
3111202/01/20224.52312.7
4112505/01/20224.425.613.1
5114306/01/20224.225.212.4
7115609/01/20224.523.813.3

 

So, now the aevarge is counted like this in excel: IF(AND(A1<>"",C1<>"-"),ROUND(AVERAGE($E$1:E1),1),"-") .

 

The part that confuses me is that fixing the first value and calculateing the average of that fixed value plus every next one as it goes.

 

Thank you for your help!

  • Hi Anonymous ,

     

    Please try the following measure:

     

    Moving Average = 
    VAR FirstID = FIRSTNONBLANKVALUE ( 'Table'[Date], MAX ( 'Table'[ID] ) )
    VAR firstWeight = FIRSTNONBLANKVALUE ( 'Table'[Date], SUM ( 'Table'[Weights] ) )
    VAR Ave =
        CALCULATE (
            AVERAGE ( 'Table'[Weight / pack] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Date] <= MAX ( 'Table'[Date] ) )
        )
    RETURN
        IF ( AND ( FirstID <> BLANK (), ISNUMBER ( firstWeight ) ), Ave, "-" )

     

    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.

1 Reply

  • v-kkf-msft's avatar
    v-kkf-msft
    Icon for Community Support rankCommunity Support

    Hi Anonymous ,

     

    Please try the following measure:

     

    Moving Average = 
    VAR FirstID = FIRSTNONBLANKVALUE ( 'Table'[Date], MAX ( 'Table'[ID] ) )
    VAR firstWeight = FIRSTNONBLANKVALUE ( 'Table'[Date], SUM ( 'Table'[Weights] ) )
    VAR Ave =
        CALCULATE (
            AVERAGE ( 'Table'[Weight / pack] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Date] <= MAX ( 'Table'[Date] ) )
        )
    RETURN
        IF ( AND ( FirstID <> BLANK (), ISNUMBER ( firstWeight ) ), Ave, "-" )

     

    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.