Forum Discussion

yve214's avatar
yve214
Helper III
4 years ago
Solved

Get even total average across months

Hi there,

 

I need help with getting an even average across the calendar months counting from the start date adding to 12 months. I have a date table connected to my data table through the "start_date".

 

I just need the average from the total evenly spread across the months starting from the start date for instance, please see result below.

 

Thank you in advance for your help.

 

Data:

producttotal_amtstart_dateend_dateMonths
a1004/1/20203/31/202112
b2001/1/202012/31/202012
c3002/1/20201/31/202112

 

Expected Result:

producttotal_amtstart_dateend_dateMonthsJan-2020feb-2020march-2020April-2020May-2020jun-2020Jul-2020Aug-2020Sept-2020Oct-2020Nov-2020Dec-2020jan-2021feb-2021March-2021
a1004/1/20203/31/202112   8.38.38.38.38.38.38.38.38.38.38.38.3
b2001/1/202012/31/20201216.716.716.716.716.716.716.716.716.716.716.716.7   
c3002/1/20201/31/202112 252525252525252525252525  
  • Hi,

    Please check the below picture and the attached pbix file.

     

    Expected result measure: =
    VAR monthscount =
        COUNTROWS (
            SUMMARIZE (
                FILTER (
                    ALL ( 'Calendar' ),
                    'Calendar'[Date] >= MAX ( Data[start_date] )
                        && 'Calendar'[Date] <= MAX ( Data[end_date] )
                ),
                'Calendar'[Month & Year]
            )
        )
    VAR totalamount =
        SUM ( Data[total_amt] )
    VAR result =
        DIVIDE ( totalamount, monthscount )
    RETURN
        IF (
            MIN ( 'Calendar'[Date] ) >= MAX ( Data[start_date] )
                && MAX ( 'Calendar'[Date] ) <= MAX ( Data[end_date] ),
            result
        )
    

2 Replies

  • Hi,

    Please check the below picture and the attached pbix file.

     

    Expected result measure: =
    VAR monthscount =
        COUNTROWS (
            SUMMARIZE (
                FILTER (
                    ALL ( 'Calendar' ),
                    'Calendar'[Date] >= MAX ( Data[start_date] )
                        && 'Calendar'[Date] <= MAX ( Data[end_date] )
                ),
                'Calendar'[Month & Year]
            )
        )
    VAR totalamount =
        SUM ( Data[total_amt] )
    VAR result =
        DIVIDE ( totalamount, monthscount )
    RETURN
        IF (
            MIN ( 'Calendar'[Date] ) >= MAX ( Data[start_date] )
                && MAX ( 'Calendar'[Date] ) <= MAX ( Data[end_date] ),
            result
        )
    
    • yve214's avatar
      yve214
      Helper III

      Jihwan_Kim Thank you so much. I was able to get my variables similarly to the one you had but I made the mistake of conencting my tables to the data table. This worked perfectly, thank you.