求每个ID TOURNEE的每日Max_Heure LIV平均值的DAX问题
解决方案
错误原因分析
你之前的公式迭代的是Label_HEURE LIV的单个时间值,而非配送日期维度。在单个时间值的上下文里,[Max_Heure LIV]就是该时间本身,但直接对这些时间值求平均会因上下文匹配错误或格式问题返回0,完全不符合“每日最大值的平均值”的需求。
正确度量公式
要实现每个ID TOURNEE对应的每日Max_Heure LIV的平均值,核心是迭代唯一配送日期,先计算每个日期的最大配送时间,再对这些值求平均:
Avg_Daily_Max_Heure_LIV = AVERAGEX( VALUES('filtered_POR050'[JOUR LIV]), [Max_Heure LIV] )
优化版(排除无数据日期)
如果需要排除没有配送记录的空日期,避免拉低平均值,可添加过滤条件:
Avg_Daily_Max_Heure_LIV = AVERAGEX( CALCULATETABLE( VALUES('filtered_POR050'[JOUR LIV]), NOT(ISBLANK([Max_Heure LIV])) ), [Max_Heure LIV] )
使用说明
将这个新度量值添加到矩阵中,它会自动根据当前上下文(邮政编码GroupeCP、路线IDID TOURNEE),计算对应维度下所有配送日期的每日最大配送时间的平均值。
内容的提问来源于stack exchange,提问作者OneTwentyTo
相关产品推荐
相关产品推荐

