Power BI DAX 如何用GROUPBY实现SUMMARIZECOLUMNS相同计算结果
解决方法
调整后完整代码
ADDCOLUMNS( GROUPBY( FILTER(Mergetable, Mergetable[noShow] <> "true"), Mergetable[WeekDayName], "TOTALDURATION", SUMX(CURRENTGROUP(), Mergetable[MeetingDurationInHours]), "TOTALWEEKCOUNT", COUNTX(CURRENTGROUP(), Mergetable[WeekDayName]) ), "DIVIDED", [TOTALDURATION] / [TOTALWEEKCOUNT] )
如果需要兼容除零异常,推荐把除法替换为DAX内置的DIVIDE函数:
"DIVIDED", DIVIDE([TOTALDURATION], [TOTALWEEKCOUNT])
调整逻辑说明
- GROUPBY函数存在固定限制:同一次GROUPBY调用的聚合表达式中,只能作用于
CURRENTGROUP()返回的当前分组行上下文,不能直接引用本次GROUPBY内新生成的计算列,因此无法直接在GROUPBY内部计算DIVIDED列。 - 外层嵌套
ADDCOLUMNS函数后,就可以直接引用GROUPBY生成的TOTALDURATION和TOTALWEEKCOUNT列完成除法运算,最终输出的表结构、计算结果和原SUMMARIZECOLUMNS版本完全一致。
内容的提问来源于stack exchange,提问作者Deepak Kumar
相关产品推荐
相关产品推荐

