PowerBI中如何仅提取最新日期的数据?
提取表格最新日期数据的DAX解决方案
你的DAX公式问题出在FILTER的条件逻辑上:MAX('table'[date])只是返回一个日期值,并非布尔判断条件,FILTER需要的是“当前行日期等于全局最大日期”这类真假判断,所以原公式相当于没有生效的筛选,最终返回了所有数据的总和。
以下是几种可行的修正方案:
方案一:修正FILTER的判断条件
Data Required = CALCULATE( SUM('table'[values]), FILTER( 'table', 'table'[date] = MAX('table'[date]) ) )
这里明确指定筛选条件为“每行的日期等于表中的最大日期”,仅保留最新日期的行后再求和。
方案二:使用ALL确保取全局最大日期
如果需要不受当前筛选上下文影响(比如切片器筛选时仍取整个表的最新日期),可以用ALL函数清除上下文:
Data Required = CALCULATE( SUM('table'[values]), 'table'[date] = CALCULATE(MAX('table'[date]), ALL('table')) )
CALCULATE(MAX('table'[date]), ALL('table'))会忽略任何外部筛选,直接获取整个表的最大日期,再筛选对应行求和。
方案三:用TOPN获取最新日期再求和
通过TOPN提取最新的单个日期,再对该日期对应的数据求和:
Data Required = SUMX( TOPN(1, ALL('table'[date]), 'table'[date], DESC), CALCULATE(SUM('table'[values])) )
内容的提问来源于stack exchange,提问作者MikeMac
相关产品推荐
相关产品推荐

