SAP HANA 分析视图
什么是分析视图 SAP 花?
SAP HANA 分析视图 基于星型模式建模,它代表 OLAP/多维建模对象。 SAP HANA 分析视图形成类似多维数据集的结构,用于分析数据。分析视图主要用于需要从基础表中聚合数据的场景。
In SAP HANA 分析视图,维度表与包含交易数据的事实表相连。维度表包含描述性数据。(例如产品、产品名称、供应商、客户等)。事实表包含描述性数据和可测量数据(金额、税金等)。
示例 SAP HANA 分析视图
在这里,我们将基于之前创建的属性视图“AT_PRODUCT”为采购订单创建一个分析视图。
我们将使用表“采购订单标题”和“采购订单详细信息”表。
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');
在“DHK_SCHEMA”中创建表“PURCHASE_DETAIL”的 SQL 脚本
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
我们将创建一个 SAP HANA 分析视图名为“AN_PURCHASE_ORDER”,其中已创建属性视图“AT_PRODUCT”、表“PURCHASE_ORDER”和“PURCHASE_DETAIL”。
步骤1)创建新的分析视图
- 选择 DHK_SCHEMA 包下的 Modelling 子包。
- 右键单击->新建。
- 选择分析视图选项。
步骤 2)信息视图编辑器将显示分析视图 -
- 输入分析视图名称为“AN_PURCHASE_ORDERS”并为其添加标签。
- 选择视图类型为“分析视图”。
一旦选择了数据,单击“完成”按钮。
将显示信息视图编辑器以供分析视图。
步骤 3)从数据中的架构添加表 Foundation 场景窗格下的节点
场景窗格下将有三个节点-
- 语义: 该节点代表视图的输出结构。
- 开始加入: 该节点创建连接以便将属性视图与事实表连接起来。
- 时间 Foundation: 在此节点中,我们为分析视图添加 FACT 表。可以添加多个表,但只能从一个表中选择度量。
- 将表“PURCHASE_ORDER”和“PURCHASE_DETAIL”从 DHK_SCHEMA 拖放到数据 Foundation 场景窗格的节点。
步骤4)在星型连接节点中添加属性视图
- 从建模包中选择“AT_PRODUCT”属性视图。
- 在星型连接节点中拖放属性视图。
步骤 5)在详细信息面板的同一窗口中按指示操作,
- 单击数据基础节点。数据基础节点中添加的表将显示在详细信息部分。
- 通过“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)现在,将属性视图加入事实表(数据基础)
单击语义窗格中的星型连接节点,如下所示-
属性视图和事实表将显示在详细信息窗格中。现在我们将属性视图连接到事实表,如下所示 -
将属性视图与数据连接起来 Foundation 在“PRODUCT_ID”列上。
单击“连接”链接,将显示编辑连接的弹出窗口。将连接类型定义为“引用”和基数 1…1。
单击“确定”按钮。
步骤 8)定义视图的属性、度量和键
步骤 9)验证并激活分析视图
- 验证分析观点。
- 激活分析视图。
现在将在建模子包的分析文件夹中创建并激活分析视图“AN_PURCHASE_ORDERS”,其形式为:
步骤 10)在分析视图中预览数据
- 转到工具栏部分并单击“数据预览”图标。
- 选择在数据预览编辑器中打开。
我们再次使用 3 个选项在数据预览编辑器中查看数据——
- 分析– 在此选项卡中,我们必须将属性和度量拖放到标签轴和值轴中。我们可以看到图表、表格、网格和 HTML 格式的输出。
- 独特的价值观 – 不同值显示所选属性的不同值。我们一次只能选择一个属性。
请注意: SAP HANA 分析视图只能包含属性视图,不支持联合。