云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站服务器_白云网站建设_免费

小七 141 0

本文详细介绍了如何在SAP-ABAP-CDS视图中实现笛卡尔变换,将一个具有数百个度量值的记录转换为具有少量度量值的多个记录及其id。,销售、租金、收入、工资、水电费、每个原始记录的费用,以及;例如,每个记录中有2个度量值;例如,返利机器人是真的吗,数据中国,本年和上一年的值。

一些标准和自定义SAP应用程序的表在一个记录中包含多个度量值,企业信息管理软件,如下屏幕所示:

在许多财务报告中;例如,P&L,我们希望显示合计费用和收入,每行显示一个,两个度量列显示当前和以前期间的金额;例如,2017年11月和2016年11月,如下屏幕所示:

要获取上面屏幕上显示的损益格式的数据,我们必须:

过滤数据的时间段进一步称为时间桶按时间段汇总所有费用;如广告费、水电费等;和收入;如销售额、特许权使用费等计算汇总记录的总费用和总收入计算利润和利润收入比将每个聚合记录中的所有10个原始度量值和4个计算度量值转换为具有度量值id的单个度量值,即14个记录中的公用事业、销售、租金、利润等将当前CYCM和上一个PYCM时间段的转换记录中的单个度量值拆分为2个度量值,即AMOUNT\u CYCM和AMOUNT\u PYCM聚合已转换的记录以获取单个记录中的当前和以前的时间段数量在SAP-ABAP-CDS-Views中实现时格时,本文讨论了如何在不进行横向到纵向度量转换的情况下,将数据分组到时格中。相同数据的结果以以下格式显示:

您可以在上面的屏幕上看到总收入,总费用和利润与下面屏幕上再次显示的损益表中显示的相同:

下面讨论的要点是演示如何使用笛卡尔变换(在本文档中也称为水平到垂直度量)将具有多个度量的单个记录转换为具有单个度量的多个记录转换:

将每个聚合记录中的所有10个原始度量值和4个计算度量值转换为具有度量值id的单个度量值;即公用事业、销售、租金、利润等;在14个记录中

当我们将一个矩阵乘以另一个矩阵时,该矩阵在对角线单元格中包含值1,在所有其他单元格中包含值0,我们得到第一个矩阵中的行,显示为结果矩阵中的列如下所示:

当我们使用矩阵代数的原理和数据库表中的度量时,我们可以转换多个度量M1,云服务器免费,M2,单个记录中的M3和M4到多个记录中的单个测量量,附加ID列,如下所示:

本文档的以下部分将详细说明从:

过滤时间段的数据,进一步称为时间桶的整个过程按时间段汇总所有费用;如广告费、水电费等;和收入;如销售额、特许权使用费等计算汇总记录的总费用和总收入计算利润和利润收入比将每个聚合记录中的所有10个原始度量值和4个计算度量值转换为具有度量值id的单个度量值,即14个记录中的公用事业、销售、租金、利润等将当前CYCM和上一个PYCM时间段的转换记录中的单个度量值拆分为2个度量值,即AMOUNT\u CYCM和AMOUNT\u PYCM聚合已转换的记录以获取单个记录中的当前和以前的时间段数量将收益率转换为十进制数

以执行笛卡尔变换,即水平到垂直度量的变换必须定义一个变换表,对角线单元格中的值为1,所有其他单元格中的值为零。这可以通过定义以下数据库表来实现:

上表允许处理多达20个水平度量到垂直格式的转换。它还允许将多个应用程序和分类度量的数据存储在多达8个类别中;即,可以在包装器CDS视图中聚合的层次结构。它们也可以通过前端应用程序扩展和折叠。

我们的P&L ADOC应用程序的示例数据是由ABAP程序生成的,并显示在以下屏幕上:

注意虚拟列值1,该值将用于N..M与应用程序表的联接。

ZABL\ U HVT20表由ZABA\ U HVT\ U 10ADOC\ U DDL ABAP CDS视图包装仅公开14个数字列,将单个记录中的14个度量值转换为14个记录中的单个度量值,如下表所示:

注意:

由于ZABL\u HVT20表可能包含多个应用程序的记录,因此仅选择了应用程序ADOC的记录只有P&L应用中使用的category1和castegory2被公开

开发了以下ABAP CDS模型:

为了实现转换:

请注意上述CDS视图的命名约定。ZABA前缀表示它们所属的包。名为ADOC的第二个令牌表示application。CDS View name中的第三个标记表示依赖级别,即级别10是初始CDS视图,20是调用级别10视图的下一级别CDS视图,等等。由于CDS View语法的限制,需要多个级别;例如。,不能在同一CDS视图中定义将另一个计算度量值用作表达式组件的计算度量值。此外,云服务器吧,具有多个级别的CDS视图允许保持逻辑相当简单。相同的前缀和10,20,…级别号允许在SAP HANA Studio的数据定义组件列表中将所有相关的CD视图放在一起。

级别号增加10允许在将来需要时添加一些附加级别;例如,15,并保持命名约定的主体完整。

最终的CD视图名称;i、 例如,ZABA_ADOC_PNL_REPORT_DDL;在第三个标记中没有2个数字前缀

本文档的以下小节讨论了上述ABAP CDS视图。

ZABA_ADOC_10TBA_DDL ABAP CDS视图

此ABAP CDS视图从ZABA_ADOC表中为CYCM和PYCM时间桶选择数据,并按下表所示进行聚合:

上述ABAP CDSView为P\u TODAY=20171114生成以下结果:

ZABL\u TBUCKET\u DDL ABAP CDS视图在[1]"在ABAP CDS视图中实现时间桶"文档中单独讨论过。

ZABA\u ADOC\u 20ERP\u DDL ABAP CDS视图

此ABAP CDS视图计算总费用、总收入,利润和利润收入比如下表所示:

请注意,要计算利润率,必须将部门的组成部分转换为abap.fltp公司类型:

上述ABAP CDS视图为P\U TODAY=20171114生成以下结果:

ZABA\U ADOC\U 30PRD\U DDL ABAP CDS视图

此ABAP CDS视图将PR\U比率值转换为十二月(8.2)键入并添加具有常量值1的DUMMY属性,如下表所示:

DUMMY列将在N..M JOIN中与ZABA\u HVT\u 10ADOC\u DDL CDS View一起使用。

上述ABAP CDS View为P\u TODAY=20171114生成以下结果:

ZABA\u ADOC\u 40HVT\u DDL ABAP CDS View