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

OData按日期过滤后执行聚合操作报错的解决方法求助

问题原因

你遇到的错误是OData执行顺序导致的:当同时使用$filter和$apply时,外部的$filter会在$apply的转换操作之后执行。你的$apply里用了groupby((General)),这会移除所有非分组字段(包括DateComptable),后续的$filter自然找不到这个字段,因此报错。

解决方法

把日期和General的过滤逻辑嵌入到$apply内部,用filter(...)操作放在groupby之前,确保先过滤原始数据,再执行分组聚合。

修改后的查询语句:

$apply=filter(General eq '401000' and date(DateComptable) ge 2022-06-01T00:00:00Z and date(DateComptable) le 2022-06-30T00:00:00Z)/groupby((General),aggregate(Debit with sum as TotalDebit, Credit with sum as TotalCredit))
逻辑说明
  1. 先通过filter筛选出符合General = '401000'且DateComptable在指定日期范围内的原始数据,此时DateComptable处于可用状态。
  2. 再对筛选后的数据按General分组,同时聚合Debit和Credit的总和,分组后无需保留DateComptable,不会触发上下文缺失的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:45:36