CDS Query 里的复合维度和 F4 Help 初始值,为什么 AA/# 这类值会消失
我们在做 SAP S/4HANA Embedded Analytics 或 BW 相关 CDS Query 时,经常会遇到一种很别扭的问题。查询结果里明明已经出现了某些复合键值,到了 F4 Help 里却找不到。更麻烦的是,这些值并不是普通主数据值,而是类似AA/#、AZ/#这种带有初始值的复合维度成员。查询结果能看到,选择帮助里看不到,用户自然会认为报表坏了,开发同事看 SQL 结果也容易觉得数据没问题,真正的问题却藏在 BW Analytic Engine 读取主数据的路径里。
SAP 官方对 CDS Compounding 的解释非常直接,所谓复合特征,在 CDS 模型里通常表现为一个 CDS Dimension View 除时间字段外拥有多个 Key 字段。也就是一个字段不能脱离另一个字段单独表达完整业务语义。典型例子就是航班连接号Connection Number依附于航空公司Airline,单独一个0017不够准确,必须结合AA/0017或LH/0017才是完整业务含义。(SAP Help Portal)
这类建模在 BW 世界里很常见。成本中心可能复合于控制范围,利润中心可能复合于控制范围,航班连接号可能复合于航空公司。放到 ABAP
