CDS从入门到精通–2视图的类型

1.复合视图

如有一个业务示例如下,您已经为虚拟数据模型开发了几个基本接口视图。现在,需要将这些基本视图合并到“复合”视图中,以允许进行类似于多维数据集的程序。

CDS从入门到精通--2视图的类型 - 第1张  | 优通SAP
带注释的复合视图
CDS从入门到精通--2视图的类型 - 第2张  | 优通SAP
虚拟数据模型中的组合视图

从技术上讲,VDM中的所有视图都定义为ABAP核心数据服务(CDS)视图。VDM中最重要的组件是“接口”视图层。它由可重用实体视图的一致模型组成,该模型专注于业务语义。接口视图分为两种视图类型:基本接口视图和复合接口视图。

基本视图形成了Suite数据库表之上的低冗余模型。核心实体视图包含与其他核心实体视图的关联。

CDS从入门到精通--2视图的类型 - 第3张  | 优通SAP
接口视图分为基本视图和复合视图

复合接口视图不直接连接到数据库表这一事实可以识别它们。复合视图仅使用基本视图和由基本视图中的关联提供的数据。

可以创建消费视图以供特定域使用(例如,分析,OData),也可以由不同域重用。

1.1.复合接口规则

  • 可以访问基本视图和其他组合视图。
  • 本质上,它们引入了数据冗余。
  • 它们应该是可重用的。
  • 他们可以与其他基本视图相关联

1.2.分析数据类别

  • #CUBE
  • #DIMENSION
  • #FACT
  • #HIERARCHY
  • #TEXT

复合接口视图不得直接访问数据库表。他们可以根据基本视图或其他接口视图来投影,计算,联接,过滤和聚合数据。复合视图可以与其他基本或复合视图关联。

多个分析查询可以基于相同的分析视图。因此,可以期望对分析视图进行更广泛的定义,其中包含许多甚至多余的信息。类别的综合分析视图。

@ Analytics.dataCategory:#CUBE应包含过滤和分组所需的所有字段

@ Analytics.dataExtraction.enables设置为false,因为视图包含数据提取中不需要的冗余数据。

2.消费视图

CDS从入门到精通--2视图的类型 - 第4张  | 优通SAP
消费视图

消费视图通常也称为分析视图。要在查询层中启用标准报告,“消耗”视图需要添加以下功能:

  • 应报告其数据的子集,即提供基本数据的界面视图(尺寸视图或分析视图)上的投影和(可选)全局过滤器
  • 限制或计算所需的参数
  • 特定的限制措施,而不是重用视图中包含的基本措施
  • 特定的计算量度,特别是那些在聚合后需要计算的量度(@DefaultAggration:#FORMULA)
  • 异常聚合,例如,实体计数器
  • 主数据文本和显示属性,通常与此报告相关
  • 用于此查询的报表中的层次结构
  • 参数和过滤器用作变量;及其静态或派生的默认值
  • 默认显示形式,用于在通用UI中高度可用的初始显示(轴:行与列,总计开/关,层次开/关等)
CDS从入门到精通--2视图的类型 - 第5张  | 优通SAP
分析引擎如何使用分析查询和视图

Analytical View组合了可能在某种类型的查询中合理使用的所有度量和维。分析视图还应包含与参考尺寸视图的所有关联。当前设置中的“分析查询”中无法定义其他联接。

表示分析查询的CDS视图用作分析引擎的元数据描述。相应的SQL视图不会由分析引擎执行,并且不应由其他使用者调用。

CDS从入门到精通--2视图的类型 - 第6张  | 优通SAP
生成用于分析查询的ODATA服务

在用于Eclipse(HANA Studio)的ABAP开发工具中,创建了CDS视图“ ABC”。视图注释@ Analytics.query:true自动为此视图创建一个瞬态分析查询(BWQuery)作为单独的DDIC对象。查询名称的前缀为2C,因此此瞬态分析查询的生成名称为:2CABC。可以使用事务:RSRT2在ABAP系统中测试瞬态分析查询。

在分析查询中添加视图注释@ OData.publish:true可以通过SADL框架自动创建OData服务,该服务已经处于活动状态并且可以直接使用。该服务也是一个单独的对象,由不同的DDIC对象组成。通过将后缀_CDS添加到查询名称中来生成OData服务名称,因此生成的OData服务名称变为:ABC_CDS。

CDS从入门到精通--2视图的类型 - 第7张  | 优通SAP

添加@ OData.publish:在CDS视图中为true

添加注释@ OData.publish:true将创建OData服务<CDS视图名称> _CDS,但是需要在事务/IWFND/MAINT_SERVICE中手动完成激活。OData服务需要在ABAP前端服务器上激活。

CDS从入门到精通--2视图的类型 - 第8张  | 优通SAP

在ABAP中激活ODATA服务

需要激活生成的OData服务并将其添加到服务目录中。要在ABAP中激活OData服务,请执行以下步骤:

  1. 选择“添加服务”按钮,选择需要连接服务的系统别名,然后通过技术名称搜索OData服务<CDS视图名称> _CDS。
  • 从结果列表中,选择您的服务,然后选择添加所选服务。这将激活OData服务并将其添加到服务目录
  • 在弹出窗口中选择OData Service链接,然后将打开一个显示调试信息的浏览器。

一些有用的URL如下:

  • http:// <主机名>:<端口号> / sap / opu / odata / sap / <CDS视图名称> /?sap-ds-debug = true显示调试信息。
  • http:// <主机名>:<端口号> / sap / opu / odata / sap / <CDS视图名称> / $ metadata显示服务元数据文档。

在XML响应中,您将找到EntitySet名称。这是可以执行的查询。在…/ <CDS视图名称> /之后添加此EntitySet名称,响应将是带有查询结果的XML文档。

http:// <主机名>:<端口号> / sap / opu / odata / sap / <CDS视图名称> / <EntitySet名称> / $ count将导致记录计数。有关使用OData服务的更多信息,请参见此处

CDS从入门到精通--2视图的类型 - 第9张  | 优通SAP

在GUI中检查分析查询

查询监视器可用于测试查询视图(注解:@ Analytics.query:true)以及这些查询视图中使用的视图的正确性。它也可以用于通过默认查询测试分析视图(CUBE或FACT)。它允许在不同的UI中测试完整的查询功能。将2C添加到您的查询名称。例如:

  • CDS视图名称:ZTKC_FlightQuery
  • SQL视图名称:ZTKCFLIGHTQUERY
  • 查询的(临时提供程序)ID:2CZTKCFLIGHTQUERY

对于查询显示,选择“ HTML”以获取查询的基于html的UI。作为输出,您将获得CDS视图中指定的结果屏幕。现在,您可以更改查询执行,例如,可以添加其他字段,删除字段,选择显示属性并设置过滤器

CDS从入门到精通--2视图的类型 - 第10张  | 优通SAP
检查分析查询

要测试分析查询,请在事务SE38中启动报告:RSRT_CDS_QUERY_CHECK

在所有检查都集成到ADT(Eclipse)中之前,此报告可用于检查分析查询视图的正确性。该报告对查询视图执行检查(CDS分析和BI生成检查),并提供比事务RSRT和警告(例如,未使用的参数)更详细的错误消息。您可以使用该报告来批量检查查询视图(例如,包中的所有查询视图)。

CDS从入门到精通--2视图的类型 - 第11张  | 优通SAP
检查分析数据源

瞬态提供程序预览显示了瞬态提供程序的元数据,该元数据在运行时用于特定的CDS视图(DIMENSION,HIERARCHY,CUBE,FACT)。使用它来检查分析引擎是否能够正确解释CDS视图的元数据。输入要检查的CDS视图的SQL视图名称。

显示临时提供程序的ID(“ 2C” + <SQL视图名称>)和信息提供程序从CDS视图获取的元数据(关键字段,关键数字,属性和层次结构)。例如,您可以检查是否已将字段关联到正确的尺寸视图。使用“标准查询”按钮检查视图(瞬态提供程序)执行的结果。