Forum Discussion

Chandrashekar's avatar
Chandrashekar
Icon for Resolver III rankResolver III
2 years ago
Solved

Average based on NMonth vs Month

Hello Team,

 

I need help with dax to get Average however I got it for count(Dax).

 

I need dax for average for below

average_Lmonth = Last Nmonth -1(Jan-24, Feb-24, Mar-24, Apr-24).

average =  Lmonth(Jan-24, Feb-24, Mar-24, Apr-24,May-24)

 

Folder: Sample File 

 

Regards,

Chandrashekar B

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Chandrashekar 

     

    Thanks for the reply from BeaBF . The following is my testing for your reference.

     

    I added some data in the table.

     

     

     

    Measure = 
    VAR _Last1month =
        CALCULATE (
            COUNT ( 'Table'[Company] ),
            FILTER (
                'Table',
                [Month_Year] >= MIN ( slicer[Month_Year] )
                    && [Month_Year]
                        <= DATE ( YEAR ( MAX ( slicer[Month_Year] ) ), ( MONTH ( MAX ( slicer[Month_Year] ) ) - 1 ), DAY ( MAX ( slicer[Month_Year] ) ) )
            )
        )
    VAR _lastmonth =
        CALCULATE (
            COUNT ( 'Table'[Company] ),
            FILTER (
                'Table',
                [Month_Year] >= MIN ( slicer[Month_Year] )
                    && [Month_Year] <= MAX ( slicer[Month_Year] )
            )
        )
    RETURN
        DIVIDE ( _Last1month, _lastmonth )

     

     

     

    Output:

     

    Due to Security Policy, I am unable to open your link. If there is still a problem, please let me know the logic for calculating your desired result.

     

    Best Regards,
    Yulia Xu

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

10 Replies

  • Chandrashekar Hi! Try with:

    Average_Last_N_Months =
    VAR CurrentDate = MAX('Sheet1'[Month_Year])
    VAR LastNMonths = DATESINPERIOD(
        Sheet1[Month_Year],
        EOMONTH(CurrentDate, -1), -- End of last month
        -4, -- Last 4 months excluding the current month
        MONTH
    )
    RETURN
    AVERAGEX(
        CALCULATETABLE(
            VALUES('Sheet1'),
            LastNMonths
        ),
        'Sheet1'[min_count]
    )
     
    Average_Current_Period =
    VAR CurrentDate = MAX('Sheet1'[Month_Year])
    VAR CurrentPeriod = DATESINPERIOD(
        Sheet1[Month_Year],
        CurrentDate,
        -4, -- Last 5 months including the current month
        MONTH
    )
    RETURN
    AVERAGEX(
        CALCULATETABLE(
            VALUES('Sheet1'),
            CurrentPeriod
        ),
        'Sheet1'[min_count]
    )
    • Chandrashekar's avatar
      Chandrashekar
      Icon for Resolver III rankResolver III

      Hello,

       

      Sorry not getting expected output. Expected out as below. Thanks in advance.

                                                                               

      Output:

       

      Input:

      Regadrds,

      Chandrashekar B

      • BeaBF's avatar
        BeaBF
        Icon for Super User rankSuper User

        Chandrashekar Try:

        Average_Feb24_to_Apr24 =
        CALCULATE(
            AVERAGE('Table'[SI NO]),
            FILTER(
                'Table',
                'Table'[Month_Year] IN {"feb-24", "mar-24", "apr-24"}
            )
        )
         
        Average_Feb24_to_Apr24_May24 =
        CALCULATE(
            AVERAGE('Table'[SI NO]),
            FILTER(
                'Table',
                'Table'[Month_Year] IN {"feb-24", "mar-24", "apr-24", "may-24"}
            )
        )