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

Power BI PATH函数报错:父工作项ID需存在于工作项ID中

解决Power BI中Azure DevOps工作项PATH函数报错及测试用例计数问题

问题根源

报错核心是新增工作项里的父ID(127114)未出现在当前数据集的Work Item Id列中,而PATH函数要求所有父ID必须在ID列内存在。你之前的IsValid列过滤逻辑失效,是因为PATH函数会先校验所有行的父ID有效性,再执行IF判断,导致错误提前触发。

修复步骤

1. 修正IsValid列(覆盖根节点+无效父ID场景)

原逻辑未考虑根节点(父ID为空)的合法情况,优化后:

IsValid = 
VAR ParentId = SoftwareFactoryData[Parent Work Item Id]
RETURN
// 父ID为空(根节点)或父ID存在于Work Item Id中则标记为有效
IF(ISBLANK(ParentId) || CONTAINS(SoftwareFactoryData, [Work Item Id], ParentId), 1, 0)

2. 安全生成Item Path(规避PATH函数报错)

直接调用PATH会因无效父ID触发全局错误,改用以下两种方案:

方案A:限制PATH计算范围

仅在有效行内计算路径,避免无效父ID干扰:

Item Path = 
VAR CurrentId = SoftwareFactoryData[Work Item Id]
VAR ValidParent = LOOKUPVALUE(SoftwareFactoryData[Parent Work Item Id], SoftwareFactoryData[Work Item Id], CurrentId)
RETURN
IF(
    [IsValid] = 1,
    PATH(CurrentId, ValidParent),
    BLANK()
)

方案B:自定义递归生成路径(更稳定)

如果方案A仍报错,手动构建路径(假设层级不超过10层,可按需调整):

Item Path = 
VAR CurrentId = SoftwareFactoryData[Work Item Id]
VAR BuildPath = 
    ADDCOLUMNS(
        GENERATESERIES(1, 10),
        "PathPart", 
        VAR Level = [Value]
        RETURN
            IF(
                Level = 1,
                CurrentId,
                LOOKUPVALUE(
                    SoftwareFactoryData[Work Item Id],
                    SoftwareFactoryData[Work Item Id],
                    LOOKUPVALUE(SoftwareFactoryData[Parent Work Item Id], SoftwareFactoryData[Work Item Id], EARLIER([PathPart]))
                )
            )
    )
RETURN
IF([IsValid] = 1, CONCATENATEX(FILTER(BuildPath, NOT(ISBLANK([PathPart]))), [PathPart], "|"), BLANK())

3. 修正测试用例计数度量值

原度量值上下文切换易出错,改用ALL确保计数当前节点下所有测试用例:

Test Cases # = 
VAR CurrentItemId = SELECTEDVALUE(SoftwareFactoryData[Work Item Id])
RETURN
CALCULATE(
    COUNTROWS(SoftwareFactoryData),
    ALL(SoftwareFactoryData),
    SoftwareFactoryData[Work Item Type] = "Test Case",
    PATHCONTAINS(SoftwareFactoryData[Item Path], CurrentItemId)
)

额外建议

  • 检查Azure DevOps数据完整性:若需要完整层级,补充导入父ID为127114的工作项
  • 提前在Power Query处理:导入数据时直接过滤掉父ID不在当前数据集的行,从源头避免无效数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:03:11