如何在PowerBI中计算平均值时剔除大幅偏差值?
剔除异常值的DAX平均值计算方案
你之前的公式错误在于VALUES与FILTER的嵌套逻辑冗余且语法有误,下面提供两种可行的修正方案:
直接修正版
Average = AVERAGEX( FILTER( VALUES(Matched_JobID), [Job_duration_Variance] < 100 ), [Job_duration_Variance] )
逻辑说明:先通过VALUES(Matched_JobID)获取唯一的JobID列表,再用FILTER筛选出其中Job_duration_Variance小于100的项,最后用AVERAGEX计算这些有效项的平均值。
VAR变量优化版(更易维护)
Average = VAR FilteredJobIDs = FILTER( VALUES(Matched_JobID), [Job_duration_Variance] < 100 ) RETURN AVERAGEX(FilteredJobIDs, [Job_duration_Variance])
逻辑说明:用VAR提前定义过滤后的JobID集合FilteredJobIDs,后续在RETURN中直接基于这个变量计算平均值。这种方式逻辑更清晰,后续调整异常值阈值(比如把100改成其他数值)时,只需修改变量部分即可。
注意:如果Job_duration_Variance是列而非度量值,建议写成完整的列引用(如Matched_Job[Job_duration_Variance]),避免上下文歧义。
内容的提问来源于stack exchange,提问作者TFPA
相关产品推荐
相关产品推荐

