我们在 SAP S/4HANA 项目里做 Embedded Analytics 时,经常会遇到一种很有意思的对象,它看起来像普通 ABAP CDS View,语法也写在 ADT 里,但运行时却并不完全走普通 SQL View 的那套路。尤其当 CDS 上出现@Analytics.query: true,或者使用更新的DEFINE TRANSIENT VIEW ENTITY AS PROJECTION ON ... PROVIDER CONTRACT ANALYTICAL_QUERY时,这个对象就进入了 Analytic Engine 的世界。很多问题也正是从这里开始的。明明 Data Preview 可以点,明明 CDS View 语法激活通过,为什么预览结果和 Fiori Analytical App 里看到的不一样。明明底层 Cube 有数据,为什么 Query 里某个 restricted key figure 没有值。明明字段在 CDS 里存在,为什么 RSRT 或 Query Browser 里表现成了维度、度量、公式、层级、变量这些 BW 风格的概念。要理解 ABAP CDS Analytical Query,不能只把它当成一个增强版数据库视图。更准确的看法是,它是 ABAP CDS 建模语言和 BW OLAP 分析引擎之间的一座桥。底层数据来自 ABAP CDS,语义解释交给 Analytic Engine,面向消费端时又呈现出 BW Query 的很多特征。SAP 官方学习资料也把新一代 CDS Analytical Projection View 称为一种用于定义 analytical query 的 transient view enti