Forum Discussion

amaniramahi's avatar
amaniramahi
Icon for Helper V rankHelper V
3 years ago
Solved

Loop SUMX and AVERAGEX

I have a table "AbandonedCallsDetails" contains the following columns: CallerID CallDate Start of Hour Month           I want to create a column to calculate the sum of monthly aver...
  • amaniramahi's avatar
    amaniramahi
    3 years ago

    Thank you Greg_Deckler , some how it didnt work.

     

    but I tried more complicated code, but at least it worked

     

    VAR table1 = 
    
    SUMMARIZE(
        ADDCOLUMNS(
            SUMMARIZE(
                AbandonedCallsDetails,
                AbandonedCallsDetails[CallTime],
                AbandonedCallsDetails[Month],
                "AverageCount",
                VAR CurrentCallTime = AbandonedCallsDetails[CallTime]
                VAR CurrentMonth = AbandonedCallsDetails[Month]
                RETURN
                AVERAGEX(
                    FILTER(
                        SUMMARIZE(
                            AbandonedCallsDetails,
                            AbandonedCallsDetails[CallDate],
                            AbandonedCallsDetails[CallTime],
                            AbandonedCallsDetails[Month],
                            "Count", COUNTROWS(AbandonedCallsDetails)
                        ),
                        [CallTime] = CurrentCallTime && [Month] = CurrentMonth
                    ),
                    [Count]
                )
            ),
            "SumOfAverages",
            SUMX(
                FILTER(
                    SUMMARIZE(
                        AbandonedCallsDetails,
                        AbandonedCallsDetails[CallTime],
                        AbandonedCallsDetails[Month],
                        "AverageCount",
                        VAR CurrentCallTime = AbandonedCallsDetails[CallTime]
                        VAR CurrentMonth = AbandonedCallsDetails[Month]
                        RETURN
                        AVERAGEX(
                            FILTER(
                                SUMMARIZE(
                                    AbandonedCallsDetails,
                                    AbandonedCallsDetails[CallDate],
                                    AbandonedCallsDetails[CallTime],
                                    AbandonedCallsDetails[Month],
                                    "Count", COUNTROWS(AbandonedCallsDetails)
                                ),
                                [CallTime] = CurrentCallTime && [Month] = CurrentMonth
                            ),
                            [Count]
                        )
                    ),
                    [CallTime] = EARLIER(AbandonedCallsDetails[CallTime])
                ),
                [AverageCount]
            )
        ),
        AbandonedCallsDetails[CallTime],
        [SumOfAverages]
    )
    
    RETURN
        SUMX(table1, [SumOfAverages])