SAP HANA建模:完整教程

2020-08-31 13:58发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)

什么是SAP HANA建模?

SAP HANA Modeling是我们用来创建信息视图的活动。信息视图类似于BW的维度,多维数据集或信息提供者。该信息视图用于创建多维数据模型。

在本教程中,您将学习-

  • SAP HANA建模概述

  • SAP HANA创建信息模型的最佳实践

  • SAP HANA性能优化技术

SAP HANA建模概述

建模是一种活动,在该活动中,用户通过基于业务场景创建信息视图来优化或分割数据库表中的数据。该信息视图可用于报告和决策目的。

信息视图由内容数据的各种组合组成,以创建业务场景的模型。

信息视图中的内容数据有两种类型–

  • 属性:描述性和不可衡量的数据。例如,供应商ID,供应商名称,城市等。

  • 度量:数据可以量化和计算。例如收入,售出数量和柜台。该度量源自分析和计算视图。无法在“属性”视图中创建度量。

属性类型

SAP HANA支持三种属性类型-

属性类型活动项目
  • 简单属性

它源自数据基础。
  • 计算属性

它是从一个或多个现有属性和常量派生的。例如,算术计算或从名字和姓氏得出全名。
  • 局部属性

它在建模视图(分析视图/计算视图)内部使用,用于自定义属性的行为,因此它在“ 建模”视图本地,并且无法从“建模”视图外部访问。

度量类型

SAP HANA支持四种衡量方式–

属性类型活动项目
  • 简单的措施

它源自数据基础。
  • 计算量度

它是从一个或多个现有度量,常量和函数派生的。例如算术计算。
  • 限制措施

它用于根据用户定义的属性值规则过滤值。
  • 计数器

它是列的特殊类型,显示属性列(分析视图/计算视图)的唯一编号。用于计数一个或多个属性列。

信息视图分为以下三种类型–

  • 属性视图 -用于主数据上下文。

  • Analytic View –用于创建事实表,类似于BW的多维数据集。

  • 计算视图–用于创建复杂的视图,类似于BW中的多个Provide。

为了在SAP HANA中工作,用户需要特权,以下是SAP HANA建模所需的特权-

建模所需的特权

特权为SAP HANA数据库提供安全性,授权用户只能通过该安全性访问授权内容。

对象特权–

对象特权是SQL特权,用于提供对数据库对象的读/写访问。以下是建模所需的对象特权。

  • _SYS_BI架构上的SELECT特权。

  • _SYS_BIC架构上的SELECT特权。

  • 对REPOSITORY_REST(SYS)具有EXECUTE特权。

  • 表模式的SELECT特权。

套餐优惠–

必须具有程序包特权才能授权对单个程序包执行操作。以下是数据建模所需的程序包特权-

  • 根软件包的REPO.MAINTAIN_NATIVE_PACKAGES特权。

  • 用于内容对象的程序包上的REPO.READ,REPO.EDIT_NATIVE_OBJECTS和REPO.ACTIVATE_NATIVE_OBJECTS。

分析特权–

要访问SAP HANA信息视图分析特权,需要-

  • 要对SAP HANA System中的所有信息视图进行完全数据访问,需要具有“ _SYS_BI_CP_ALL”分析权限。对于受限的数据访问,需要创建分析特权并将其分配给用户。

其他特权

  • 向“ _SYS_REPO”用户提供“对自己的模式的授予”作为“ GRANT SELECT ON SCHEMA“模式名称”,以_GRANT OPTION授予_SYS_REPO”;

  • REPO.MAINTAIN_DELIVERY_UNITS用于创建交货单位。

  • REPO.IMPORT,REPO.EXPORT用于导入/导出交货单位。

  • REPO.WORK_IN_FOREIGN_WORKSPACES用于外部工作区中的工作。

SAP HANA创建信息模型的最佳实践

在SAP HANA数据库中创建对象时,SAP HANA最佳实践是标准的。以下是对象的最佳做法–

包:

  • 创建用于开发工作的顶级程序包,例如“开发”。

  • 在每个开发人员的顶级程序包下创建一个子程序包。

  • 如果需要,还可以创建更多子包。

模式:

  • 在开始项目之前设计模式布局,例如(DS_SCHEMA,SLT_SCHEMA,FI_SCHEMA,SD_SCHEMA等)。

  • 自定义表应位于单独的架构中。

表格:

  • 将在报表或OLAP中使用的表应为列存储类型。

  • 在Transaction或OLTP中将使用的表应作为行存储类型。

  • 为了清楚起见,请适当地为表和列名称提供注释/描述。

命名惯例:

对象格式描述
属性视图AT _PRODUCTAT _...表示属性视图
分析观点AN _SALESAN _.....意味着分析视图
计算视图CA _SALESCA _.....表示计算视图
分析特权AP _REST_AT(属性视图)AP _REST_AN(分析视图)

AP _REST_CA(计算视图)

AP _....表示分析特权
层次结构HI _BNAME_PC(父级孩子)

HI _BNAME_LV(级)
HI _...表示层次结构
程序SP _PROCEDURENAMESP _...存储过程
输入参数IP _PARA_NAMEIP _...表示参数
变数VA _VNAMEVA _...表示变量名

在SAP HANA Studio中创建包

包:这是一个容器,其中包含一个组中有关模型的所有信息(属性视图,分析视图,计算视图等。。。)。

包裹的类型:包裹有两种类型,如下所示–

类型

描述

图标

结构性

在“结构化包”中,只能创建子包。在“结构化”包中不能创建“信息”视图(属性视图,分析视图等)。

例如,结构软件包– SAP,系统本地,系统本地。生成的本地系统。私人的。

SAP HANA建模:完整教程

非结构化

非结构包可以包含信息对象和子包。这是默认程序包。

SAP HANA建模:完整教程

软件包的用途:软件包组都是信息模型,使模型的传输更加容易。两种包装均可用于运输。

在SAP HAN Studio中创建结构化包装的步骤-

步骤1)在这一步中,

  1. 选择Hana System,这里是HDB。

  2. 转到内容文件夹。

SAP HANA建模:完整教程

步骤2)在这一步中,

  1. 选择新建。

  2. 选择包选项。

SAP HANA建模:完整教程

步骤3)在这一步中,

  1. 输入包名称。例如“ DHK_SCHEMA”。

  2. 输入包装说明。

  3. 默认情况下会选择原始语言和负责人。

SAP HANA建模:完整教程

名称为“ DHK_SCHEMA”的非结构性软件包将在“内容”节点中创建,如下所示:

SAP HANA建模:完整教程

步骤4)现在,将非结构包转换为结构包。

  1. 选择包“ DHK_SCHEMA”,然后右键单击它。

  2. 转到软件包的编辑选项。

SAP HANA建模:完整教程

步骤5)在这一步中,

  1. 在“结构选项”字段中选择“是”。

  2. 单击确定按钮。

SAP HANA建模:完整教程

当我们的“ DHK_SCHEMA”从“非结构”包更改为“结构”包时,图标样式将从更改SAP HANA建模:完整教程SAP HANA建模:完整教程这表明非结构化软件包现在已转换为结构化软件包。

SAP HANA建模:完整教程

在“结构化包装”下创建非结构化包装作为子包装的步骤。

程序包默认创建为“非结构”。在非结构包中,可以创建其他包和信息对象。最好先创建一个结构包,然后在其中创建一个子结构包。

步骤1)在这一步中,

  1. 选择结构包“ DHK_SCHEMA”,然后右键单击它。

  2. 选择新建->包。

SAP HANA建模:完整教程

步骤2)在这一步中,

  1. 在名称字段中输入子包装名称。

  2. 输入说明。

  3. 点击“确定”按钮。

SAP HANA建模:完整教程

将在DHK_SCHEMA包下创建一个新的非结构包作为子包。

SAP HANA建模:完整教程

SAP HANA性能优化技术

性能优化技术有以下规则-

  • 所有信息视图和表视图应与投影节点一起使用。投影节点通过缩小列集来提高性能。

  • 通过在投影节点上应用滤镜。

  • 在计算视图中避免使用JOIN节点,请使用UNION代替它。

  • 使用输入参数/变量在分析/计算视图中限制数据集。

  • 计算应在汇总之前完成。

  • 层次结构需要在“计算”视图中重新定义,属性视图的层次结构在计算视图中不可见。

  • 属性视图的层次结构在“分析”视图中可见。

  • 在属性视图,分析视图和计算视图中定义的属性标签和度量描述将不会显示在计算视图中。我们需要重新映射它。

  • 不要在信息模型中混合使用CE函数和SQL脚本。


赞赏支持