Excel数据模型自定义Measure如何让透视表总计平均值包含0值?
解决Excel数据模型Measure未计入0值月份的问题
完全可行,核心是让Measure基于完整日历表的月份列表计算,而非仅从业务数据表(HC_Data)提取有数据的月份。修改后的DAX代码如下:
MyMeasure:=VAR AllMonths = ALLSELECTED('Calendar'[Month]) -- 取透视表中显示的所有日历月份 VAR T1 = ADDCOLUMNS( AllMonths, "Total HC", CALCULATE( COALESCE([Count of NAME], 0) -- 无业务数据时返回0 ) ) RETURN IF( HASONEVALUE('Calendar'[Month]), COALESCE(SUM(HC_Data[HC count]), 0), -- 单个月份维度下无数据显示0 AVERAGEX(T1, [Total HC]) -- 总计计算所有月份的平均值,包含0值月份 )
关键修改说明
- 替换原
SUMMARIZE逻辑:用ALLSELECTED('Calendar'[Month])获取透视表中展示的所有月份(覆盖无业务数据的月份) - 用
COALESCE函数将空值转为0,确保无数据的月份被计入平均值计算 - 单个月份的返回值也加入
COALESCE,和透视表的"无记录显示0"设置保持一致
注意:请将代码中的
'Calendar'[Month]替换为你实际使用的日历表月份字段名(需确保日历表已与HC_Data表建立关联)
内容的提问来源于stack exchange,提问作者Olendris63
相关产品推荐
相关产品推荐

