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

Power BI未显示Azure OData所有层级数据的配置问询

解决Power BI中Azure Analytics OData多级关联记录展示问题

Power BI默认只会展开OData查询中$expand指定的第一层级关联数据,要获取完整的多级父级及关联记录,可通过以下两种方式配置:

方法一:修改OData查询的嵌套展开参数

如果只需要固定层级的关联数据,可以在原查询的$expand中嵌套展开关联项。比如要展开两级关联,修改后的查询URL如下:

https://analytics.dev.azure.com/XXXX/XXX/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,WorkItemType,State&$filter=WorkItemId%20eq%20431622&$expand=Links($select=SourceWorkItemId,TargetWorkItemId,LinkTypeName;$expand=Links($select=SourceWorkItemId,TargetWorkItemId,LinkTypeName))

这种方式适合层级较少的场景,层级过多时需要手动嵌套多次,灵活性较差。

方法二:用Power Query递归函数加载全层级数据

对于不确定层级数量的场景,推荐使用Power Query的递归函数自动遍历所有关联记录,步骤如下:

  1. 导入初始数据:在Power BI中通过「数据>获取数据>从OData源」导入原查询的结果,进入Power Query编辑器。
  2. 创建递归函数:新建空白查询,打开高级编辑器,粘贴以下代码(替换XXXX和XXX为你的组织名和项目名):
let
    GetRelatedWorkItems = (workItemId as number) as table =>
    let
        url = "https://analytics.dev.azure.com/XXXX/XXX/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,WorkItemType,State&$filter=WorkItemId in (select TargetWorkItemId from Links where SourceWorkItemId eq " & Text.From(workItemId) & ") or WorkItemId in (select SourceWorkItemId from Links where TargetWorkItemId eq " & Text.From(workItemId) & ")",
        source = OData.Feed(url),
        relatedItems = Table.AddColumn(source, "RelatedItems", each try GetRelatedWorkItems([WorkItemId]) otherwise null),
        expandedRelated = Table.ExpandTableColumn(relatedItems, "RelatedItems", {"WorkItemId", "Title", "WorkItemType", "State", "RelatedItems"}, {"Related_WorkItemId", "Related_Title", "Related_WorkItemType", "Related_State", "Related_RelatedItems"})
    in
        expandedRelated
in
    GetRelatedWorkItems
  1. 关联递归数据:回到初始的WorkItems表,添加自定义列,调用GetRelatedWorkItems([WorkItemId]),然后逐步展开所有嵌套的关联列,即可获取完整的多级关联数据。

注意:使用递归函数时需注意Azure DevOps Analytics的API调用限制,避免因频繁请求触发限流。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:13:25