Power BI:统计状态变更前各时段内符合条件的标识数量
解决方案:统计每月评级为B/C的标识数量
核心思路
要实现需求,我们需要先确定每个标识在当前统计月份结束时的最新评级,再统计其中评级为B或C的唯一标识数量——这样就能自动反映标识评级随时间的更新变化。
DAX度量值代码
Count B/C Identifiers = VAR CurrentMonthEnd = MAX('Date Lookup Table'[Date]) VAR LatestPerIdentifier = ADDCOLUMNS( VALUES('文件表'[Identifier]), "LatestUpdateDate", CALCULATE(MAX('文件表'[Update Date])), "LatestRating", VAR LatestDate = CALCULATE(MAX('文件表'[Update Date])) RETURN CALCULATE(MAX('评级表'[Rating]), '文件表'[Update Date] = LatestDate) ) VAR FilteredIdentifiers = FILTER( LatestPerIdentifier, [LatestUpdateDate] <= CurrentMonthEnd && ([LatestRating] = "B" || [LatestRating] = "C") ) RETURN COUNTROWS(FilteredIdentifiers)
代码解释
- CurrentMonthEnd:获取当前筛选月份的最后一天,作为判断标识最新状态的时间节点。
- LatestPerIdentifier:为每个标识计算两个关键值:
- 该标识的所有记录中最新的更新日期
- 基于最新更新日期匹配到的对应评级
- FilteredIdentifiers:筛选出两个条件都满足的标识:
- 最新更新日期不晚于当前统计月份的月末
- 最新评级为B或C
- 最终返回:统计筛选后的标识数量
验证结果
- 2021年2-5月:Apple的最新评级是C(来自File 1),Orange的最新评级是B(来自File 2),因此统计结果为2
- 2021年6月及以后:Apple的最新评级更新为A(来自File 3),只剩Orange的评级为B,因此统计结果为1
内容的提问来源于stack exchange,提问作者Helen
相关产品推荐
相关产品推荐

