《SAP HANA平台应用开发》—第3章3.3节分析视图

3.3 分析视图
前面介绍的属性视图提供了从客户主数据、供应商主数据、部件主数据角度进行业务分析的维度。那么如何将这些可用的分析维度和实际需要的分析指标关联起来呢?答案是:通过分析视图(Analytic View)。下面介绍分析视图的主要作用和操作步骤。
1)加入事实表,提供分析指标的数据基础:与前面的两个属性视图相关的事实表(Fact Table)需要加到分析视图的“Data Foundation”中。对应到本书所用的TPC-H模型,Orders、LineItem这两个数据库表中保存着销售订单的具体信息(金额、折扣、销售数量、总价等),这些信息都是业务人员关心的分析指标,所以,这两个数据库表都需要加进来,并且两个表之间要进行关联,然后设定哪些字段为“Data Foundation”的输出字段。
2)将分析指标(事实表)和分析维度(属性视图)关联起来:将事实表加到“Data Foundation”之后,需要在“Logical Join”(只有分析视图才有)中加入所需的两个属性视图。然后,将属性视图和事实表关联起来。如果有需要,也可以创建新的计算列(Calculated Columns)。
3)设定分析指标和分析维度:在“Semantics”中可以定义哪些字段为分析属性,哪些字段为分析指标。
步骤1:创建分析视图
创建一个新的视图,选择“Analytic View”作为类型,输入“CUSTOMER_ORDER”作为该分析视图的名称,其他的基本信息如图3-32所示。

然后,单击“Finish”按钮完成分析视图的创建,此时SAP HANA工作台的建模视图如图3-33所示。

分析视图的工作界面和属性视图类似,只是多了一个“Logical Join”操作面板。
步骤2:添加事实(Fact Table)表
接下来,单击“Data Foundation”,在HANA_TPCH中找到所需要的ORDERS表和LINEITEM表,然后将其拖拽到右边的面板中,如图3-34所示。

然后,对ORDER表和LINEITEM表进行关联,使用的是O_ORDERKEY字段,具体的Join Type、左表和右表可以参考图3-35。
在完成上述两个事实表的连接之后,需要设定输出哪些字段。图3-36所示,将两个事实表中的很多字段都添加为输出列(Add to Output)。

注意事项:
1)在图3-36所示的Data Foundation中,笔者使用了两个事实表,并且将两个表中的很多字段添加为输出列,这些字段有数值、金额、字符等类型。但是,只有数值类型数据库字段可以被设置为分析指标(Measure)。
2)在同一个分析视图中,所有的“原始”分析指标字段只能来自同一个事实表,否则,在激活这个分析视图时,SAP HANA会报错。
例如,Order表提供了总金额字段O_TOTALPRICE,LineItem表提供了L_QUANTITY字段,如果在Senmantics中直接将这两个字段设定为Measure,然后激活,系统会报错。
如果一定要输出两个事实表的字段作为Measure,可以在Logical Join中定义一个新的Calculated Columns字段(类型必须相同),然后将O_TOTALPRICE直接赋予这个新字段列,最后再将这个新创建的Calculated Columns字段设为Measure,再次激活这个分析视图,这样就能达到在同一个分析视图中同时输出两个事实表的字段作为分析指标的目的。

步骤3:添加属性视图作为分析维度的来源
事实表已经添加完,并且输出了很多所需的字段列。现在需要将事实表和属性视图关联起来。单击“Logical Join”,此时显示的建模视图如图3-37所示。

在Logical Join的Details窗口中可以看到其中也有一个“Data Foundation”,这里看到的其实是前面“Data Foundation”所定义的输出字段,它将两个事实表关联成一个平面的结构,然后进行输出。
在图3-37所示窗口的空白处右击,在弹出的快捷菜单中选择“Add”命令,或者直接将前面创建的两个属性视图“SUPPLIER_PART”和“CUSTOMER”拖拽到这个界面中,完成之后的效果如图3-38所示,还没有在这3个对象之间创建任何关联关系。

接下来,将供应商属性视图和Data Foundation关联起来。在Data Foundation中将L_PARTKEY字段拖拽到供应商属性视图的PS_PARTKEY字段上,并且将L_SUPPKEY字段拖拽到PS_SUPPKE字段上,从而建立起两者之间的关联关系。
这4个字段之间的Join Type可以选择“Left Outer”,这样可以确保即使在供应商主数据缺失的情况下,依然可以通过事实表中的供应商数据进行统计分析,结果如图3-39所示。

接下来,需要将客户主数据视图和Data Foundation进行关联,将属性视图中的C_CUSTKEY字段拖拽到Data Foundation的O_CUSTKEY上,从而建立起一个连接。同样,这里也使用“Left Outer”作为Join Type,结果如图3-40所示。

最后,分析视图的“Logical Join”的Details窗口将显示图3-41所示的结果,这表示两个属性视图和事实表已经关联起来了。
到这里为止,TPC-H模型已经通过分析视图实现了。
步骤4:为视图添加新列
在Logical Join部分添加属性视图,视图中所有字段默认就会成为分析视图的字段。在3.2节的步骤4中,可以在Data Foundation部分为属性视图添加计算列字段。对于分析视图来说也是一样,但是需要在Logical Join部分才能进行这类操作。

在分析视图的Data Foundation中有订单日期字段(O_ORDERDATE),接下来会从该字段中解析出年和月,相应地在分析视图中添加计算列字段O_YEAR和O_MONTH,如图3-42所示。
图3-42所示为计算列字段O_YEAR的定义,此对话框和属性视图中相应对话框一样,因此,这里就不再赘述该对话框中每个字段的作用。但是还需要注意O_YEAR的表达式,这次没有判断语句,而是使用了两个系统函数。
component(date, int):其中int参数在1~6之间取值,这6个数字分别对应年、月、日、小时、分、秒,此函数会根据int参数截取日期的一部分作为返回结果。
string(arg):其中arg是任意类型的参数,此函数会在数据类型转换之后,把字符串类型的结果返回。

因此,年的计算公式如图3-43所示。
因为年和月(O_MONTH)两个计算列字段的定义大致相同,后者数据类型占位两个字符。为了保证月计算列字段中的值没有空白位(当为1至9月时),月的计算表达式中还会使用rightstr(string)函数,必要时在数字前补零,如图3-44所示。

O_YEAR和O_MONTH都是视图中的分析维度,因此,需要在上述对话框的“Column Type”下拉列表框中选择“Attribute”选项。在实际应用中,也可以创建作为分析指标的计算列字段。接下来会对视图中的分析维度和指标进行更多讨论。

步骤5:指定分析指标
SAP HANA分析视图是Cube结构,因此存在两种字段类型:Attribute即是前面谈到的分析维度,Measure等同于分析指标。分析视图中的所有字段初始都会作为Attribute存在,因此,需要手工指定哪些是Measure。
在分析视图的Semantics部分可以把需要作为分析指标存在的字段设置为Measure,图3-45所示为CUSTOMER_ORDER的建模视图,在其中选择Semantics。

在Semantics部分,Column窗口中存在两个选项卡,其中,“Local”选项卡中列出了Data Foundation中的所有字段,默认所有字段都是Attribute。我们会选择LINEITEM表中的4个字段—L_QUANTITY、L_EXTENDEDPRICE、L_DISCOUNT、L_TAX作为分析指标,如图3-46所示。单击字段前的图标(在“Type”列),在下拉列表框中将L_QUANTITY字段的类型从“Attribute”更改为“Measure”,即分析指标。

在“Local”选项卡中只能找到Data Fooundation中的字段,要查看那些添加到属性视图中的字段,需要切换到“Shared”选项卡,如图3-47所示。

到这里为止,在激活该分析视图之后,就在SAP HANA中实现了围绕销售订单的分析模型。
最后,读者可以使用3.2节中步骤6所介绍的数据预览功能来选择Cube中的分析维度和指标,使用不同的组合进行数据分析。

时间: 2024-08-16 07:55:44

《SAP HANA平台应用开发》—第3章3.3节分析视图的相关文章

《SAP HANA平台应用开发》—第1章1.1节SAP HANA和XS开发

第1章 SAP HANA和XS开发 SAP HANA是SAP公司于2010年年底宣布推向全球市场的高性能数据处理软件,其官方名称为SAP Real-time Data Platform(SAP实时数据平台),可以运行在经过认证的PC服务器.小型机.虚拟机,以及公.私有云平台上.SAP HANA的唯一目的就是为用户提供极高性能的计算服务. SAP HANA是一个平台,而非仅仅是一个数据库,这是因为它从一开始就是以平台为目的来设计的,而非仅仅作为一个运行SAP应用系统的底层数据库.从技术层面看,SA

《SAP HANA平台应用开发》—第3章3.1节信息建模

第3章 信 息 建 模 如果读者已经具有关于SAP HANA信息建模和存储过程的知识,可以跳过本章及第4章,直接学习第5章,这样并不会对后续的学习有任何影响. 在SAP HANA中进行XS应用开发时,最先接触到的开发对象应就是HANA信息模型(属性视图.分析视图.计算视图.SQL视图)了.但是,信息建模仅仅是SAP HANA XS应用开发的一个组成部分,相对比较独立. 在实际项目中,不使用任何信息模型也能完成整个XS应用的开发.但是,因为基于SAP HANA的信息模型是一个虚拟多维数据立方体,并

《SAP HANA平台应用开发》—第1章1.2节进入XS应用开发的新篇章

1.2 进入XS应用开发的新篇章在SAP HANA的早期版本(例如SPS06)中,没有提供所谓的XS资源库的概念,但是XS Server是一直就存在的.因为早期的XS系统架构和服务不是非常成熟,在SAP官方的文档中都只是将其作为一个轻量级的应用服务器,并且XS的应用开发和资源库管理也都没有准备好,所以,早期的基于SAP HANA开发都没有使用XS项目的方式,也就没有相应的XS开发说明.以往在SAP HANA上的应用开发大致如下: 没有任何HANA的应用部署在XS服务器之上. 直接在Catalog

《SAP HANA平台应用开发》—第2章2.3节熟悉SAP HANA工作台

2.3 熟悉SAP HANA工作台SAP HANA工作台是一个客户端软件,是基于Eclipse核心并且遵守GPL规范进行的扩展和功能开发.SAP提供了不同操作系统版本的软件供用户下载.SAP HANA工作台的版本必须和SAP HANA服务器的版本相同,Revision的版本尽量不要相差太多,虽然其也支持向下兼容,但是毕竟不同的SPS版本还是有一些差异的,所以,在项目开发中,尽量保持SAP HANA服务器和SAP HANA工作台软件版本的一致性.作为和SAP HANA系统进行交互工作的客户端软件,

《SAP HANA平台应用开发》—第2章2.2节第一次亲密接触

2.2 第一次亲密接触2.2.1 几个系统用户SAP HANA服务器安装好以后,表2-1中所示的3个用户都是需要提交到SAP HANA系统的管理和运维人员.表2-1 重要的用户用户名 类型 说明root OS用户 SUSE Linux操作系统root用户,用于软件升级.安装等adm OS用户 这个SAP HANA系统实例的管理用户system HANA系统用户 SAP HANA数据库的管理员 root用户是SAP HANA软件上运行的SUSE Linux操作系统的用户,在安装SAP HANA软件

《SAP HANA平台应用开发》目录— 导读

前 言SAP on Cloud 云端的SAP是SAP公司对未来的一个展望.SAP公司以及其软件产品.业务模式将会变成什么样.未来是什么,此时此刻没有人说得清楚.但是,SAP公司目前所有的业务发展.主流技术路线都非常明确地指向一个方向-云计算. 为了实现这个目标,SAP公司花了五六年的时间,耗费超过300亿美元进行收购(Ariba.Hybris.SucessFactor.Concur这样的SaaS公司及Sybase)和新产品研发(已经发布的有HANA企业云.HANA云平台.S/4 HANA及全新的

《SAP HANA平台应用开发》—第2章2.1节熟悉HANA开发环境

第2章 熟悉HANA开发环境 在第1章中,笔者介绍了SAP HANA的基本概念及其主要服务器端的组件.本章将使用SAP HANA工作台软件登录到一个SAP HANA系统,并快速了解SAP HANA的一些常用操作.主要内容包括:第一次连接到SAP HANA系统,创建Schema.表.视图,使用SQL Console,导入数据等,创建用户,赋予角色,以及在不同的视角下进行切换,进入不同的操作模式等.2.1 环境准备2.1.1 SAP HANA服务器软件及硬件 开展SAP HANA项目或者实施SAP系

《SAP HANA平台应用开发》—第2章2.4节用户、角色和授权管理

2.4 用户.角色和授权管理 在2.2.节及之前的一些操作演示中,使用的都是SYSTEM这个SAP HANA默认的系统管理员账户.通常,SYSTEM用户只在做系统管理时使用,日常的应用层面的数据库技术支持还是建议使用单独的新用户来执行.在SAP HANA系统中,通常有以下5类用户: 系统用户:对整个HANA系统进行系统级别的配置和管理的用户.例如,SYSTEM用户就是其中之一.数据复制和备份恢复也建议创建单独的用户. 开发和应用支持用户:在HANA中创建数据库表,加载数据,创建信息模型.存储过程

《SAP HANA平台应用开发》—第3章3.2节属性视图

3.2 属性视图步骤1:创建视图如图3-1所示,选择"demo"并右击,在弹出的快捷菜单中选择"New→Attribute View"命令,会在SAP HANA工作台中弹出图3-3所示的"New Information View"对话框.图3-3所示的对话框中提供了多个字段,用户可输入或选择所建视图的基本属性.Name:视图名称,比如当前示例的名称为CUSTOMER.Description:视图描述,通常输入有意义的文本,用于说明视图的功用.Pa