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

D365 Electronic Reporting分组映射问题:聚合字段无法访问及函数缺失

Dynamics 365 Electronic Reporting (ER) 分组聚合字段访问问题解决方案

问题背景

使用Electronic Reporting从D365导出JSON数据时,简单查询可正常运行,但添加GroupBy函数时持续报错。Copilot提示:

在部分ER框架版本(尤其是基于Web的设计器)中,通过$MatchedGroup这类计算字段访问GroupBy数据源的聚合字段时,存在已知限制。即便分组有效且记录存在,.aggregated.Total_Hours字段在公式上下文也无法查看或访问,进而引发[error]。

现有数据源结构:

  • 10_BaseTables
    • ProdTable
    • ProdRoute
    • ProdJournalRoute
  • 20_Filtered
    • $ProdTable
      • $ProdRoute(通过$ProdTable的ProdID字段关联)
        • $ProdJournalRoute(通过$ProdRoute的ProdID、OprNum字段关联)

需求是为$ProdJournalRoute添加按ProdID、OprNum分组的聚合字段Total_Qty,但尝试在单独节点30_GroupBy中创建分组,并在$ProdJournalRoute或$ProdRoute的计算字段中引用时,要么所有记录返回静态值,要么输出[error]。同时Formula Designer中缺少Join、GroupBy、Exists、ISNULL等函数,常规变通方案失效。

可行解决方案

1. 调整分组节点层级,避免跨层级引用

不要创建独立的30_GroupBy节点,直接在关联层级内完成分组:

  • 进入20_Filtered下的$ProdRoute节点,添加GroupBy数据源
  • 数据源选择$ProdJournalRoute,分组键设置为ProdID和OprNum
  • 聚合字段配置:Total_Qty = Sum($ProdJournalRoute.Qty)
  • 后续JSON输出直接引用该分组后的聚合字段,无需通过计算字段中转

2. 利用ER层级上下文直接访问聚合值

针对Web版ER设计器的$MatchedGroup限制:

  • 跳过计算字段跨节点引用的方式,在分组后的数据源节点下,直接将Total_Qty映射到JSON输出结构中
  • 确保聚合字段的引用上下文与分组节点处于同一层级,避免跨层级调用导致的上下文无法识别问题

3. 用数据源关联替代缺失的函数

由于Formula Designer缺少Join/Exists等函数,改用ER原生的数据源链接配置:

  • 重新检查$ProdTable与$ProdRoute的关联:通过ProdID字段建立数据源链接(而非公式计算)
  • 重新检查$ProdRoute与$ProdJournalRoute的关联:通过ProdID+OprNum组合字段建立数据源链接
  • 确保关联条件完全匹配业务逻辑,保证分组时能正确筛选并聚合目标记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 17:22:47