SAP HANA 分析视图
SAP HANA 中的分析视图是什么?
SAP HANA 分析视图基于星型模式建模,代表 OLAP/多维建模对象。SAP HANA 分析视图形成一个类似立方体的结构,用于数据分析。分析视图主要用于需要来自底层表的聚合数据的场景。
在 SAP HANA 分析视图中,维度表与包含事务数据的事实表连接。维度表包含描述性数据。(例如:产品、产品名称、供应商、客户等)。事实表同时包含描述性数据和可测量数据(金额、税金等)。
SAP HANA 分析视图示例
在此,我们将基于先前创建的属性视图“AT_PRODUCT”为采购订单创建分析视图。
我们将为此使用表“Purchase Order Header”和“Purchase Order Detail”。
SQL 脚本 用于在“DHK_SCHEMA”中创建表“PURCHASE_ORDER”
CREATE COLUMN TABLE "DHK_SCHEMA"."PURCHASE_ORDER" ( PO_NUMBER NVARCHAR(10) primary key, COMPANY NVARCHAR (4), PO_CATEGORY NVARCHAR(2), PRODUCT_ID NVARCHAR(10), VENDOR NVARCHAR(10), TERMS NVARCHAR(4), PUR_ORG NVARCHAR(4), PUR_GRP NVARCHAR(3), CURRENCY NVARCHAR(5), QUOTATION_NO NVARCHAR(10), PO_STATUS VARCHAR(1), CREATED_BY NVARCHAR(20), CREATED_AT DATE ); INSERT INTO "DHK_SCHEMA"."PURCHASE_ORDER" VALUES(1000001,1000,'MM','A0001','V000001','CASH' ,1000,'GR1','INR',1000011,'A','HANAUSER','2016-01-07'); INSERT INTO "DHK_SCHEMA"."PURCHASE_ORDER" VALUES(1000002,2000,'MM','A0002','V000001','CASH',1000,'GR1','INR',1000012,'A','HANAUSER','2016-01-06'); INSERT INTO "DHK_SCHEMA"."PURCHASE_ORDER" VALUES(1000003,2000,'MM','A0003','V000001','CASH',1000,'GR1','INR',1000013,'A','HANAUSER','2016-01-07'); INSERT INTO "DHK_SCHEMA"."PURCHASE_ORDER" VALUES(1000004,2000,'MM','A0004','V000001','CASH',1000,'GR1','INR',1000014,'A','HANAUSER','2016-01-07');
SQL 脚本用于在“DHK_SCHEMA”中创建表“PURCHASE_DETAIL”
CREATE COLUMN TABLE "DHK_SCHEMA"."PURCHASE_DETAIL" ( PO_NUMBER NVARCHAR(10) primary key, COMPANY NVARCHAR(4), PO_CATEGORY NVARCHAR(2), PRODUCT_ID NVARCHAR(10), PLANT NVARCHAR(4), STORAGE_LOC NVARCHAR(4), VENDOR NVARCHAR(10), TERMS NVARCHAR(4), PUR_ORG NVARCHAR(4), PUR_GRP NVARCHAR(3), CURRENCY NVARCHAR(5), QUANTITY SMALLINT, QUANTITY_UNIT VARCHAR(4), ORDER_PRICE DECIMAL(8,2), NET_AMOUNT DECIMAL(8,2), GROSS_AMOUNT DECIMAL(8,2), TAX_AMOUNT DECIMAL(8,2) ); INSERT INTO "DHK_SCHEMA"."PURCHASE_DETAIL" VALUES(1000001,1000,'MM','A0001',1001,101, 'V000001','CASH',1000,'GR1','INR',10,'UNIT',50000.00,40000.00,50000.00,10000.00); INSERT INTO "DHK_SCHEMA"."PURCHASE_DETAIL" VALUES(1000002,2000,'MM','A0002',1002,102, 'V000002','CASH',1000,'GR1','INR',10,'UNIT',60000.00,48000.00,60000.00,12000.00); INSERT INTO "DHK_SCHEMA"."PURCHASE_DETAIL" VALUES(1000003,2000,'MM','A0003',1003,103, 'V000001','CASH',1000,'GR1','INR',20,'UNIT',40000.00,32000.00,40000.00,8000.00); INSERT INTO "DHK_SCHEMA"."PURCHASE_DETAIL" VALUES(1000004,2000,'MM','A0004',1004,104, 'V000002','CASH',1000,'GR1','INR',20,'UNIT',20000.00,16000.00,20000.00,4000.00);
使用此表脚本,将创建两个表“PURCHASE_ORDER”和“PURCHASE_DETAIL”并包含数据。
如何在 SAP HANA 中创建分析视图
我们将创建一个名为“AN_PURCHASE_ORDER”的 SAP HANA 分析视图,使用已创建的属性视图“AT_PRODUCT”以及表“PURCHASE_ORDER”和“PURCHASE_DETAIL”。
步骤 1) 创建新的分析视图
- 在 DHK_SCHEMA 包下选择“Modelling”子包。
- 右键单击 -> 新建。
- 选择“Analytic View”选项。
信息视图编辑器将为分析视图显示 –
- 将分析视图名称输入为“AN_PURCHASE_ORDERS”并为其添加标签。
- 将视图类型选择为“Analytic View”。
选择数据后,单击“完成”按钮。
将显示分析视图的信息视图编辑器。
步骤 3) 在“Scenario”窗格下的“Data Foundation”节点中添加来自 Schema 的表
“Scenario”窗格下将有三个节点:
- Semantics:此节点表示视图的输出结构。
- Start Join:此节点创建连接,以将属性视图与事实表连接。
- Data Foundation:在此节点中,我们为分析视图添加事实表。可以添加多个表,但只能选择一个表中的度量。
- 将“PURCHASE_ORDER”和“PURCHASE_DETAIL”表从 DHK_SCHEMA 拖放到“Scenario”窗格的“Data Foundation”节点。
步骤 4) 在 Star join 节点中添加属性视图
- 从“Modelling”包中选择“AT_PRODUCT”属性视图。
- 将属性视图拖放到 Star Join 节点。
步骤 5) 在同一窗口的详细信息面板中,按指示操作,
- 单击“data foundation”节点。添加到“data foundation”节点的表将在“Detail”部分显示。
- 基于“PO_NUMBER”字段将表“PURCHASE_ORDER”连接到表“PURCHASE_DETAIL”。
- 输入连接类型和基数。
点击“确定”按钮。
步骤 6) 在同一窗口中选择以下列,
- 从“PURCHASE_DETAIL”表中选择 PO_NUMBER、COMPANY、PO_CATEGORY、PRODUCT_ID、PLANT、STORAGE_LOC。
- 从“PURCHASE_DETAIL”表中选择 CURRENCY 列。
- 选择 GROSS_AMOUNT、TAX_AMOUNT。
- 从“PURCHASE_HEADER”表中选择 PO_STATUS、CREATED_BY、CREATED_AT 列。
所有选定的列(橙色)将在分析视图的输出中显示。
步骤 7) 现在,将属性视图连接到事实表(数据基础)
如下所示,在“semantic”窗格中单击“Star join”节点:
属性视图和事实表将在详细信息窗格中显示。现在,我们如下所示将属性视图连接到事实表:
基于“PRODUCT_ID”列连接属性视图与数据基础。
单击“Join”链接,将显示“Edit Join”弹出窗口。将连接类型定义为“Referential”,基数定义为“1…1”。
单击“OK”按钮。
步骤 8) 为视图定义属性、度量和键
- 在“Scenario”窗格中选择“Semantics”节点。
- 在“Details”窗格下选择“Columns”选项卡。
- 将列类型定义为属性和度量。我已将所有列定义为属性,但“GROSS_AMOUNT”除外,它被定义为度量。
步骤 9) 验证和激活分析视图
- 验证分析视图。
- 激活分析视图。
现在,分析视图“AN_PURCHASE_ORDERS”将在“Modelling”子包的“Analytic”文件夹中创建和激活,如下所示:
步骤 10) 预览分析视图中的数据
- 转到工具栏部分,单击“Data Preview”图标。
- 选择“Open in Data Preview Editor”。
我们再次使用 3 个选项在 Data Preview Editor 中查看数据:
- Analysis – 在此选项卡中,我们必须将属性和度量拖放到“Label Axis”和“Value axis”。我们可以以图表、表格、网格和 HTML 格式查看输出。
- Distinct values – “Distinct values”显示所选属性的唯一值。每次只能选择一个属性。
注意: SAP HANA 分析视图只能包含属性视图,不支持 Union。