Power BI中计算当前周期重复出现的历史Bug数量
Power BI 统计当前周期重复Bug的DAX解决方案
一、推荐方案:动态度量值(适配切片器筛选)
因为你已经用切片器筛选Practice、项目,还有视觉筛选器筛选最新版本,用度量值可以动态响应这些筛选条件,结果会随筛选变化自动更新。
1. 先创建度量值获取当前筛选下的最新CycleID
最新CycleID = MIN(test_cycle_details[cycleID])
说明:因为你提到最新周期的CycleID数值最小,所以用MIN函数取当前筛选范围内最小的CycleID,就是最新周期的ID
2. 创建核心度量值统计重复Bug数量
重复Bug计数 = VAR 当前周期Bug集合 = CALCULATETABLE( VALUES(defect_report[IssueKey]), test_execution_summary[CycleID] = [最新CycleID] ) VAR 旧周期Bug集合 = CALCULATETABLE( VALUES(defect_report[IssueKey]), test_execution_summary[CycleID] > [最新CycleID] ) RETURN COUNTROWS(INTERSECT(当前周期Bug集合, 旧周期Bug集合))
*说明:
VAR用来定义临时变量,拆分计算步骤,更易理解当前周期Bug集合:提取最新周期里所有不重复的Bug编号(IssueKey)旧周期Bug集合:提取所有比最新CycleID大的旧周期里的不重复Bug编号INTERSECT取两个集合的交集,也就是同时出现在当前和旧周期的Bug,最后用COUNTROWS统计交集的行数,就是重复Bug的数量*
二、备选方案:静态计算列(无动态筛选场景适用)
如果不需要随切片器筛选动态更新结果,可以用计算列标记每个Bug是否在旧周期出现过,再汇总计数:
1. 在defect_report表中创建计算列
是否为重复Bug = VAR 当前Bug = defect_report[IssueKey] VAR 当前CycleID = RELATED(test_execution_summary[CycleID]) VAR 旧周期出现次数 = CALCULATE( COUNTROWS(test_execution_summary), FILTER( ALL(test_execution_summary), test_execution_summary[ExecutionDefect] = 当前Bug && test_execution_summary[CycleID] > 当前CycleID ) ) RETURN IF(旧周期出现次数 > 0, 1, 0)
*说明:
RELATED通过表关系获取当前Bug对应的CycleIDALL(test_execution_summary)忽略当前行的筛选上下文,检查该Bug在所有旧周期(CycleID更大)中是否存在- 存在则返回1,否则返回0*
2. 汇总重复Bug总数
如果需要统计整个当前周期的重复Bug总数,可以创建度量值:
重复Bug总数 = SUM(defect_report[是否为重复Bug])
内容的提问来源于stack exchange,提问作者udani
相关产品推荐
相关产品推荐

