3.1 准备工作和TPC-H
在2.3.4节,已经创建了DEMO、DEMO_2、HANA_TPCH三个用户,接下来会使用HANA_TPCH用户登录到SAP HANA系统,然后创建TPC-H表,并且导入一些测试数据。
HANA_TPCH这个用户拥有以下权限:
- MODELING(系统权限)。
- _SYS_BIC的SELECT、EXECUTE操作权限。
- _SYS_BI的SELECT、EXECUTE操作权限。
TPC-H表定义的SQL脚本和数据,可以在www.hanapost.com/download中下载,打开TPC-H的SQL脚本之后,记得将Schema名字换成你自己创建的Schema名字。图3-1所示为TPC-H模型的所有数据库表的关系图,如果读者创建了一些测试数据,也应考虑这些数据的一致性。
图3-1 TPC-H的模型
接下来,介绍在SAP HANA工作台中的具体操作步骤。由于Attribute View(属性视图)是SAP HANA建模的基础,因此这里先介绍如何使用SAP HANA工作台的建模工具创建TPC-H模型中的两个属性视图,如图3-2所示。
图3-2 基于TPC-H模型构建的两个属性视图
本节将重点介绍客户(CUSTOMER)属性视图的创建步骤。对于供应商部件(SUPPLIER_PART),其操作步骤与客户类似。为了节省篇幅,在本节的结尾只会围绕几个截图进行简要介绍,不再涉及具体步骤。
从建模方法来看,SAP HANA建模应该归到ROLAP(Relational OLAP)的范畴,因此,属性视图取代了传统RDBMS中的维度表。并且,可以使用属性视图实现更加灵活、复杂的功能:
- 可以在多张OLTP业务表的基础上构建单个维度。
- 可以暴露数据库表的部分列,或添加新列(Calculated Column)。
- 可以预先设置过滤条件(Filter),减少查询时的数据量,提高效率。
- 可以创建Hierarchy(层次结构),实现分析中常用的钻取功能。
SAP HANA模型视图需要存放在同一个地方,所以,首先需要创建一个后面要用到的package。在本例中,创建一个名为demo的package。
步骤如下:切换到SAP HANA Modeler视角,然后在Content文件夹中右击,创建一个package(名称为demo),暂时不为它分配任何Delivery Unit。