DAX FILTER函数未按预期过滤?计算表异常求助
排查FILTER函数未正确过滤日期的思路
我创建了一个基于FILTER函数的计算表,目标是从日期表中移除另一张表「Resolved」列最新日期之后的所有日期(两张表无活动关系)。预期结果是显示截至并包含11月3日的所有日期,但实际返回了2022年的全部日期,排查4小时仍未解决,求解决思路。
截图说明:筛选后的表与期望的最大值展示
核心排查方向:
验证「Resolved」列的最大值是否正确
先单独确认你获取最新日期的逻辑是否生效。新建一个度量值:最新解决日期 = MAX(Resolved表[Resolved])将其放入卡片视觉对象,查看是否返回预期的11月3日。如果这里值不对,后续过滤逻辑必然失效。
检查日期比较的类型匹配
若最大值正确但过滤无效,大概率是日期类型不匹配(比如一个是日期时间、一个是纯日期)。统一类型后再比较:筛选后日期表 = FILTER('日期表', DATEVALUE('日期表'[日期]) <= DATEVALUE(MAX(Resolved表[Resolved])))清除上下文对最大值计算的干扰
模型中的隐性筛选可能导致MAX无法获取全局最大值,用ALL函数清除上下文:筛选后日期表 = FILTER('日期表', '日期表'[日期] <= CALCULATE(MAX(Resolved表[Resolved]), ALL(Resolved表)))逐行验证过滤条件
在日期表中新增计算列,直观查看每条数据的判断结果:是否符合过滤条件 = IF('日期表'[日期] <= MAX(Resolved表[Resolved]), "符合", "不符合")通过该列的结果,可快速定位是日期比较逻辑错误,还是最大值计算的问题。
内容的提问来源于stack exchange,提问作者Eric Christoph
相关产品推荐
相关产品推荐

