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

如何在Excel Power Query编辑器中处理Azure DevOps API端点并关联项目列表与对应测试计划用于Excel组合框

关联Azure DevOps项目与对应测试计划的Power Query方案

我明白你现在的需求:已经通过Power Query拿到了项目列表和测试计划列表,现在要把它们关联起来,得到每个项目对应的测试计划集合,方便后续绑定到Excel组合框。咱们一步步来调整你的Power Query代码:

步骤1:获取并整理测试计划数据

首先,在现有查询里补充获取TestPlans表的数据,它和Projects表通过ProjectId做关联。我们只保留测试计划的关键字段,比如名称、ID以及关联的项目ID,避免冗余数据。

步骤2:关联项目与测试计划表

用嵌套连接的方式,把两个表按ProjectId关联起来,这样每个项目都会带上对应的测试计划列表,正好适配组合框的层级展示需求。

完整的Power Query代码

let
    // 连接Azure DevOps Analytics OData源
    Fonte = OData.Feed("https://analytics.dev.azure.com/{organization}/_odata/v1.0/", null, [Implementation="2.0"]),
    
    // 获取项目表并保留关联所需的核心字段
    Projects_table = Fonte{[Name="Projects",Signature="table"]}[Data],
    #"整理项目表" = Table.SelectColumns(Projects_table, {"ProjectName", "ProjectId"}),
    
    // 获取测试计划表并保留核心字段
    TestPlans_table = Fonte{[Name="TestPlans",Signature="table"]}[Data],
    #"整理测试计划表" = Table.SelectColumns(TestPlans_table, {"TestPlanName", "TestPlanId", "ProjectId"}),
    
    // 按ProjectId关联两个表,将测试计划嵌套到对应项目下
    #"关联项目与测试计划" = Table.NestedJoin(#"整理项目表", {"ProjectId"}, #"整理测试计划表", {"ProjectId"}, "关联的测试计划", JoinKind.LeftOuter),
    
    // 可选:将嵌套的测试计划转换为仅含名称的简化表,方便后续使用
    #"提取测试计划名称" = Table.TransformColumns(#"关联项目与测试计划", {{"关联的测试计划", each Table.SelectColumns(_, {"TestPlanName"})}})
in
    #"提取测试计划名称"

代码细节说明

  • 保留ProjectId作为关联键,比项目名称更可靠(毕竟项目名称存在重复的可能)。
  • 使用JoinKind.LeftOuter确保即使某个项目没有测试计划,也会保留在结果里,不会被过滤掉。
  • 最后一步的提取测试计划名称是可选操作:如果需要给组合框展示层级结构,可以保留嵌套表格式;如果需要扁平结构用于联动组合框,可以再加一步展开嵌套表:
// 追加在之前代码的最后
#"展开测试计划" = Table.ExpandTableColumn(#"提取测试计划名称", "关联的测试计划", {"TestPlanName"}, {"测试计划名称"})

展开后得到每行对应一个项目+测试计划的扁平表,非常适合做“先选项目,再选对应测试计划”的联动组合框。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 10:02:41