You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI星型模型下计算最新发布周期Bug数量的度量值问题求助

问题排查与解决方法

核心问题分析

你的度量值返回空值,大概率是表关系的筛选方向不匹配,加上度量值逻辑搞反了关联方向导致的:

  • 表关系defect_report[IssueKey] = test_execution_summary[ExecutionDefect]默认是单方向筛选(从defect_report到test_execution_summary),当你筛选test_execution_summary的practice、project、周期时,无法反向筛选defect_report。
  • 原度量值用RELATEDTABLE(test_execution_summary)作为筛选条件,是从defect_report的上下文去关联test记录,但你的需求是从筛选后的test记录去关联对应的Bug,逻辑方向完全相反。

具体解决步骤

1. 先检查表关联的基础数据

  • 确认test_execution_summary[ExecutionDefect]和defect_report[IssueKey]的数据格式完全一致:比如有没有多余空格、大小写差异(比如"BUG"和"Bug")、空值情况,这些都会导致关联失效。
  • 在数据视图中,手动筛选test_execution_summary的目标记录,查看对应的ExecutionDefect值,去defect_report里搜索,确认是否存在且Issue Type为"Bug"。

2. 调整表关系的交叉筛选方向

在Power BI模型视图中:

  • 选中defect_report和test_execution_summary之间的关系线
  • 在右侧属性面板中,把交叉筛选方向改成「双向」,这样筛选test_execution_summary时,defect_report会同步被筛选。

3. 替换为正确的度量值

推荐两种写法,任选其一即可:

写法一:用TREATAS关联筛选后的缺陷ID

Bugs Count = 
CALCULATE(
    COUNTROWS(defect_report),
    defect_report[Issue Type] = "Bug",
    TREATAS(VALUES(test_execution_summary[ExecutionDefect]), defect_report[IssueKey])
)

逻辑:先提取当前筛选的test_execution_summary里的所有缺陷ID,再用这些ID去筛选defect_report中的Bug并计数。

写法二:遍历test记录统计关联的Bug

Bugs Count = 
COUNTX(
    FILTER(test_execution_summary, NOT(ISBLANK(test_execution_summary[ExecutionDefect]))),
    IF(RELATED(defect_report[Issue Type]) = "Bug", 1, BLANK())
)

逻辑:遍历筛选后的test记录,跳过没有关联缺陷的行,统计其中关联到Bug的数量。

4. 验证可视化筛选

确保你的「最近发布版本对应的周期」筛选器是基于test_cycle_details或test_execution_summary的字段,且表关系test_cycle_details[cycleID] = test_execution_summary[CycleID]的交叉筛选方向也正确(建议设为双向)。


内容的提问来源于stack exchange,提问作者udani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:30:22