Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Yaro
Frequent Visitor

GROUPBY, COUNTX and SUMX for several columns

Hi.

I need to summarize table after UNION - data is coming from multiple sources.
So I was suggested to use GROUPBY and it works great, but only for one summarization (COUNTX).

If I add another summarization - SUMX, it is not working anymore.
Can you please suggest? Code is below.
Thank you.

Consol = 

var Monitorings = 
                
                SELECTCOLUMNS(QA,
                "Site",                     related('Global Master List'[Global Site]),
                "CalDate",                  related('Calendar'[Date].[Date]),
                "CallIDString",             [Call ID String],
                "NonCrit Score",            0,
                "QA Customer Critical",     0,
                "QA BusinessCrit Score",    0,               
                "ComplCrit Score",          0,
                "CallsForecasted",          0,
                "CallsOffered",             0,
                "CallsAnswered",            0,                  
                "CallsAnsweredSL",          0,
                "CallsAbandonedSL",         0)

var Quality = 
                SELECTCOLUMNS(QA,
                "Site",                related('Global Master List'[Global Site]),
                "CalDate",             related('Calendar'[Date].[Date]),
                "CallIDString",	       blank(),
                "NonCrit Score",        [NonCrit Score %],
                "QA Customer Critical", [QA Customer Critical %] ,
                "QA BusinessCrit Score",[QA Business Critical %] ,               
                "ComplCrit Score",      [ComplCrit Score %],
                "CallsForecasted",      0,
                "CallsOffered",         0,
                "CallsAnswered",        0,                  
                "CallsAnsweredSL",      0,
                "CallsAbandonedSL",     0
                )


var UnitedTable=UNION (Monitorings,Quality)

var UnitedTable2=summarize(UnitedTable,[Site],[CalDate],[CallIDString])

return groupby(UnitedTable, [Site], 
                            [CalDate], 
                            "MonitoringsNum",COUNTX(CURRENTGROUP(),[CallIDString]),
                            "ComplCriticalScore",sumx(CURRENTGROUP(),[ComplCrit Score %])             
)


Last SUMX is trhrowing error - "THE CALCULATE function cant be used in expression argument for the GROUPBY clause"

1 ACCEPTED SOLUTION
tamerj1
Super User
Super User

Hi @Yaro 
Please try

Consol =
VAR Monitorings =
    SELECTCOLUMNS (
        QA,
        "Site", RELATED ( 'Global Master List'[Global Site] ),
        "CalDate", RELATED ( 'Calendar'[Date].[Date] ),
        "CallIDString", [Call ID String],
        "NonCrit Score", 0,
        "QA Customer Critical", 0,
        "QA BusinessCrit Score", 0,
        "ComplCrit Score", 0,
        "CallsForecasted", 0,
        "CallsOffered", 0,
        "CallsAnswered", 0,
        "CallsAnsweredSL", 0,
        "CallsAbandonedSL", 0
    )
VAR Quality =
    SELECTCOLUMNS (
        QA,
        "Site", RELATED ( 'Global Master List'[Global Site] ),
        "CalDate", RELATED ( 'Calendar'[Date].[Date] ),
        "CallIDString", BLANK (),
        "NonCrit Score", [NonCrit Score %],
        "QA Customer Critical", [QA Customer Critical %],
        "QA BusinessCrit Score", [QA Business Critical %],
        "ComplCrit Score", [ComplCrit Score %],
        "CallsForecasted", 0,
        "CallsOffered", 0,
        "CallsAnswered", 0,
        "CallsAnsweredSL", 0,
        "CallsAbandonedSL", 0
    )
VAR UnitedTable =
    UNION ( Monitorings, Quality )
VAR UnitedTable2 =
    GROUPBY (
        UnitedTable,
        [Site],
        [CalDate],
        [CallIDString],
        "@ComplCrit Score", SUMX ( CURRENTGROUP (), [ComplCrit Score] )
    )
RETURN
    GROUPBY (
        UnitedTable,
        [Site],
        [CalDate],
        "MonitoringsNum", COUNTX ( CURRENTGROUP (), [CallIDString] ),
        "ComplCriticalScore", SUMX ( CURRENTGROUP (), [@ComplCrit Score] )
    )

View solution in original post

3 REPLIES 3
tamerj1
Super User
Super User

Hi @Yaro 
Please try

Consol =
VAR Monitorings =
    SELECTCOLUMNS (
        QA,
        "Site", RELATED ( 'Global Master List'[Global Site] ),
        "CalDate", RELATED ( 'Calendar'[Date].[Date] ),
        "CallIDString", [Call ID String],
        "NonCrit Score", 0,
        "QA Customer Critical", 0,
        "QA BusinessCrit Score", 0,
        "ComplCrit Score", 0,
        "CallsForecasted", 0,
        "CallsOffered", 0,
        "CallsAnswered", 0,
        "CallsAnsweredSL", 0,
        "CallsAbandonedSL", 0
    )
VAR Quality =
    SELECTCOLUMNS (
        QA,
        "Site", RELATED ( 'Global Master List'[Global Site] ),
        "CalDate", RELATED ( 'Calendar'[Date].[Date] ),
        "CallIDString", BLANK (),
        "NonCrit Score", [NonCrit Score %],
        "QA Customer Critical", [QA Customer Critical %],
        "QA BusinessCrit Score", [QA Business Critical %],
        "ComplCrit Score", [ComplCrit Score %],
        "CallsForecasted", 0,
        "CallsOffered", 0,
        "CallsAnswered", 0,
        "CallsAnsweredSL", 0,
        "CallsAbandonedSL", 0
    )
VAR UnitedTable =
    UNION ( Monitorings, Quality )
VAR UnitedTable2 =
    GROUPBY (
        UnitedTable,
        [Site],
        [CalDate],
        [CallIDString],
        "@ComplCrit Score", SUMX ( CURRENTGROUP (), [ComplCrit Score] )
    )
RETURN
    GROUPBY (
        UnitedTable,
        [Site],
        [CalDate],
        "MonitoringsNum", COUNTX ( CURRENTGROUP (), [CallIDString] ),
        "ComplCriticalScore", SUMX ( CURRENTGROUP (), [@ComplCrit Score] )
    )
amitchandak
Super User
Super User

@Yaro , make sure these are not measures [ComplCrit Score %], [QA Customer Critical %],

 

do the calculation in group by

hi @amitchandak, sorry, can you please explain a bit more, I didnt get you

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors