PowerBI中使用LASTDATE筛选器时REMOVEFILTERS函数失效问题
解决方案
直接修改度量值,先获取整个数据集的全局最后日期,再基于这个日期统计行数:
CountRows for LastDate = VAR GlobalLastDate = CALCULATE(LASTDATE(Sheet1[Date]), REMOVEFILTERS(Sheet1)) RETURN CALCULATE(COUNTROWS(Sheet1), Sheet1[Date] = GlobalLastDate, REMOVEFILTERS(Sheet1))
问题原因分析
你原来的度量值逻辑存在上下文顺序问题:
- 当切片器选择“Pre 10”或“2023年1月1日”时,
LASTDATE(Sheet1[Date])会先在切片器筛选后的上下文中计算,得到的是当前筛选范围内的最后日期(而非全局数据集的最后日期)。 - 后续的
REMOVEFILTERS(Sheet1)虽然清除了筛选,但此时已经用错误的日期去过滤行数,自然得不到预期的4。
修改后的逻辑先通过REMOVEFILTERS(Sheet1)强制在全局上下文获取最后日期,再用这个固定日期去统计行数,完全不受视觉对象筛选器的影响。
内容的提问来源于stack exchange,提问作者Hardeep Josen
相关产品推荐
相关产品推荐

