深入理解 ABAP CDS Analytical Query 中的 Aggregation,Cube 聚合与 Formula 计算到底如何协同
发布时间:2026/10/14 9:00:46 锦皓数字建站

做 SAP S/4HANA Embedded Analytics 时,一个特别容易出现设计偏差的问题,就是开发人员看到一个数值字段之后,很自然地认为,只要把它放进 Analytical Cube,再在 Query 里写几个加减乘除表达式,分析结果应该就能正确出来。真正进入 Analytical Engine 之后,事情并没有这么简单。假设我们的航班分析模型里存在MaximumSeats和OccupiedSeats两个指标。单看一条航班记录,两者非常直观。飞机最多有 300 个座位,已经卖出 240 个座位,那么剩余座位就是 60 个,客座率就是 80%。问题出现在报表开始汇总之后。当报表从单个航班上卷到航空公司,从航空公司继续上卷到某个更高层次时,系统究竟应该怎样处理MaximumSeats,怎样处理OccupiedSeats,又应该怎样处理OccupationRate,这已经不是普通 SQL 表达式能够独立决定的问题,而是分析模型必须明确声明的聚合语义。在 ABAP CDS Analytical Modeling 中,这个职责主要由@Aggregation.default承担。SAP 官方对于 Standard Aggregation 的定义非常清晰。标准聚合可以使用SUM、MIN和MAX,它独立于某个特定 Characteristic,Analytical Engine 会按照当前 Drill-Down
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。