点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
什么是计算视图?
SAP HANA Calculation视图是功能强大的信息视图。
只能从一个事实表中选择SAP HANA Analytic视图度量。当信息视图中需要更多事实表时,图片中便会出现计算视图。计算视图支持复杂的计算。
计算视图的数据基础可以包括表,列视图,分析视图和计算视图。
我们可以在数据源上创建联接,并集,聚合和投影。
计算视图可以包含多个度量,并且可以用于多维报告,也可以不用于列表类型报告。
SAP HANA计算视图的特征如下:
支持复杂计算。
支持OLTP和OLAP模型。
支持客户处理,语言,货币转换。
支持联盟,投影,聚合,等级等
SAP HANA计算视图有两种类型–
SAP HANA图形计算视图(由SAP HANA Studio图形编辑器创建)。
基于SAP HANA脚本的计算视图(由SAP HANA Studio的SQL脚本创建)。
SAP HANA图形计算视图
在SAP HANA Analytic视图中,我们只能从一个表中选择一个度量。
因此,当需要一个包含来自不同表的度量的视图时,则无法通过解析视图来实现,而只能通过计算视图来实现。
因此,在这种情况下,我们可以为每个表使用两个不同的分析视图,并将它们加入计算视图中。
我们将结合两个分析视图“ AN_PURCHASE_ORDER”和“ AN_FI_DOCUMENT”来创建图形计算视图“ CA_FI_LEDGER”。
CA_FI_LEDGER将显示与采购订单相关的财务凭证明细。
步骤1)在这一步中,
转到包(此处建模),然后单击鼠标右键。
选择新选项。
选择计算视图。
将显示一个“计算视图编辑器”,其中“方案面板”显示如下:
“方案”面板的详细信息如下所示–
面板:此部分包含以下节点,这些节点可用作构建我们的计算视图的源。
我们有5种不同类型的节点,它们是
联接:此节点用于联接两个源对象,并将结果传递到下一个节点。连接类型可以是内部,左外部,右外部和文本连接。注意:我们只能将两个源对象添加到联接节点。
联合:用于在多个源之间执行联合所有操作。源可以是n个对象。
投影:用于选择列,过滤数据并创建其他列,然后再在下一个节点(例如联合,聚合和等级)中使用它。
注意:我们只能在一个Projection节点中添加一个源对象。
聚合:用于基于所选属性对特定列执行聚合。
等级:这是SQL中RANK函数的完全替代。我们可以根据需求定义分区和order by子句。
第2步)
单击面板中的“投影”节点,然后从“采购订单分析”视图中将其拖放到方案区域。将其重命名为“ Projection_PO”。
单击面板中的“投影”节点,然后将其拖放到“方案区域”以进行FI Document分析视图。将其重命名为“ Projection_FI”。
将分析视图“ AN_PUCHASE_ORDER”和“ AN_FI_DOCUMENT”拖放到“内容”文件夹中,分别到“投影”节点和“ Projection_FI”。
单击“组件面板中的加入节点”,然后将其拖放到场景区域。
将Projection_PO节点加入到Join_1节点。
将Projection_FI节点加入到Join_1节点。
单击面板中的“聚合”节点,然后将其拖放到方案区域。
将Join_1节点加入到Aggregation节点。
我们添加了两个分析视图,用于创建计算视图。
步骤3)单击聚合下的Join_1节点,您将看到显示详细信息部分。
从Projection_PO节点中选择所有列以进行输出。
从Projection_FI节点中选择所有列以进行输出。
在列上将Projection_PO节点连接到Projection_FI节点
Projection_PO。PO_Number = Projection_FI.PO_NO。
步骤4)在这一步中,
单击“聚合”节点,“详细信息”将显示在窗格的右侧。
从详细信息窗口右侧显示的Join_1中选择要输出的列。
步骤5)现在,单击语义节点。
详细画面将显示如下。定义列的属性和度量类型,并为此输出标记键。
定义属性和度量。
将PO_Number和COMPANY标记为密钥。
将ACC_DOC_NO标记为密钥。
步骤6)从窗口顶部栏中验证并激活计算视图。
单击验证图标。
单击激活图标。
计算视图将被激活,并显示在“建模包”下,如下所示–
选择计算视图并右键单击->数据预览
我们添加了两个分析视图,并从两个分析视图中选择了度量(TAX_AMOUNT,GROSS_AMOUNT)。
数据预览屏幕将显示如下-
CE函数也称为计算引擎计划运算符(CE Operators),可以替代SQL语句。
CE功能有两种-
数据源访问功能
此函数将列表或列视图绑定到表变量。
以下是一些数据源访问功能列表–
CE_COLUMN_TABLE
CE_JOIN_VIEW
CE_OLAP_VIEW
CE_CALC_VIEW
关系算子函数
通过使用关系运算符,用户可以在评估期间绕过SQL处理器,并直接与计算引擎进行通信。
以下是一些关系运算符功能列表–
CE_JOIN(用于在两个源之间执行内部联接,并且
阅读所需的列/数据。)
CE_RIGHT_OUTER_JOIN(用于在两个源之间执行右外连接
并在输出中显示查询的列。)
CE_LEFT_OUTER_JOIN(用于在源和
将查询的列显示到输出)。
CE_PROJECTION(此函数显示源中的特定列并应用
过滤器以限制数据。它还提供了列名别名功能。)
CE_CALC(用于根据业务需求计算其他列。
这与图形模型中的计算列相同。)
以下是带有CE函数的SQL的列表,并带有一些示例-
查询名称 | SQL查询 | CE内置功能 |
---|---|---|
选择查询列表 | 从“ COLUMN_TABLE”中选择C,D。 | CE_COLUMN_TABLE(“ COLUMN_TABLE”,[C,D]) |
选择查询属性视图 | 从“ ATTRIBUTE_VIEW”中选择C,D | CE_JOIN_VIEW(“ ATTRIBUTE_VIEW”,[C,D]) |
选择分析视图上的查询 | 从“ ANALYTIC_VIEW”中选择C,D,SUM(E)。 | CE_OLAP_VIEW(“ ANALYTIC_VIEW”,[C,D]) |
选择在计算视图上查询 | 从“ CALCULATION_VIEW”中选择C,D,SUM(E)。 | CE_CALC_VIEW(“ CALCULATION_VIEW”,[C,D]) |
哪里有 | 从“ ANALYTIC_VIEW”中选择C,D,SUM(E),其中C =“值” | Var1 = CE_COLUMN_TABLE(“ COLUMN_TABLE”); CE_PROJECTION(:var1,[C,D],“ C” =“ value” / |