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) 创建新的分析视图

  1. 在 DHK_SCHEMA 包下选择“Modelling”子包。
  2. 右键单击 -> 新建。
  3. 选择“Analytic View”选项。

Create Analytic View in SAP HANA

信息视图编辑器将为分析视图显示 –

  1. 将分析视图名称输入为“AN_PURCHASE_ORDERS”并为其添加标签。
  2. 将视图类型选择为“Analytic View”。

Create Analytic View in SAP HANA

选择数据后,单击“完成”按钮。

将显示分析视图的信息视图编辑器。

步骤 3) 在“Scenario”窗格下的“Data Foundation”节点中添加来自 Schema 的表

“Scenario”窗格下将有三个节点:

  1. Semantics:此节点表示视图的输出结构。
  2. Start Join:此节点创建连接,以将属性视图与事实表连接。
  3. Data Foundation:在此节点中,我们为分析视图添加事实表。可以添加多个表,但只能选择一个表中的度量。
  4. 将“PURCHASE_ORDER”和“PURCHASE_DETAIL”表从 DHK_SCHEMA 拖放到“Scenario”窗格的“Data Foundation”节点。

Create Analytic View in SAP HANA

步骤 4) 在 Star join 节点中添加属性视图

  1. 从“Modelling”包中选择“AT_PRODUCT”属性视图。
  2. 将属性视图拖放到 Star Join 节点。

Create Analytic View in SAP HANA

步骤 5) 在同一窗口的详细信息面板中,按指示操作,

  1. 单击“data foundation”节点。添加到“data foundation”节点的表将在“Detail”部分显示。
  2. 基于“PO_NUMBER”字段将表“PURCHASE_ORDER”连接到表“PURCHASE_DETAIL”。
  3. 输入连接类型和基数。

Create Analytic View in SAP HANA

点击“确定”按钮。

步骤 6) 在同一窗口中选择以下列,

  1. 从“PURCHASE_DETAIL”表中选择 PO_NUMBER、COMPANY、PO_CATEGORY、PRODUCT_ID、PLANT、STORAGE_LOC。
  2. 从“PURCHASE_DETAIL”表中选择 CURRENCY 列。
  3. 选择 GROSS_AMOUNT、TAX_AMOUNT。
  4. 从“PURCHASE_HEADER”表中选择 PO_STATUS、CREATED_BY、CREATED_AT 列。

Create Analytic View in SAP HANA

所有选定的列(橙色)将在分析视图的输出中显示。

步骤 7) 现在,将属性视图连接到事实表(数据基础)

如下所示,在“semantic”窗格中单击“Star join”节点:

Create Analytic View in SAP HANA

属性视图和事实表将在详细信息窗格中显示。现在,我们如下所示将属性视图连接到事实表:

基于“PRODUCT_ID”列连接属性视图与数据基础。

Create Analytic View in SAP HANA

单击“Join”链接,将显示“Edit Join”弹出窗口。将连接类型定义为“Referential”,基数定义为“1…1”。

Create Analytic View in SAP HANA

单击“OK”按钮。

步骤 8) 为视图定义属性、度量和键

  1. 在“Scenario”窗格中选择“Semantics”节点。

    Create Analytic View in SAP HANA

  2. 在“Details”窗格下选择“Columns”选项卡。
  3. 将列类型定义为属性和度量。我已将所有列定义为属性,但“GROSS_AMOUNT”除外,它被定义为度量。

Create Analytic View in SAP HANA

步骤 9) 验证和激活分析视图

  1. 验证分析视图。
  2. 激活分析视图。

Create Analytic View in SAP HANA

现在,分析视图“AN_PURCHASE_ORDERS”将在“Modelling”子包的“Analytic”文件夹中创建和激活,如下所示:

Create Analytic View in SAP HANA

步骤 10) 预览分析视图中的数据

  1. 转到工具栏部分,单击“Data Preview”图标。
  2. 选择“Open in Data Preview Editor”。

Create Analytic View in SAP HANA

我们再次使用 3 个选项在 Data Preview Editor 中查看数据:

  1. Analysis – 在此选项卡中,我们必须将属性和度量拖放到“Label Axis”和“Value axis”。我们可以以图表、表格、网格和 HTML 格式查看输出。

Create Analytic View in SAP HANA

  1. Distinct values – “Distinct values”显示所选属性的唯一值。每次只能选择一个属性。

Create Analytic View in SAP HANA

  1. Raw Data – 它将如下所示以表格格式从 Raw Data 选项卡中显示:

    Create Analytic View in SAP HANA

注意: SAP HANA 分析视图只能包含属性视图,不支持 Union。