SAP HANA - 快速指南


SAP HANA - 概述

SAP HANA 是 HANA 数据库、数据建模、HANA 管理和数据配置在一个套件中的组合。在 SAP HANA 中,HANA 代表高性能分析设备。

SAP 前高管 Vishal Sikka 博士表示,HANA 代表 Hasso 的新架构。到 2011 年中期,HANA 引起了人们的兴趣,之后多家财富 500 强公司开始考虑将其作为维持 Business Warehouse 需求的一种选择。

SAP HANA 的特点

SAP HANA 的主要特点如下:

  • SAP HANA 是软件和硬件创新的结合,可处理大量实时数据。

  • 基于分布式系统环境下的多核架构。

  • 基于数据库中数据存储的行和列类型。

  • 广泛用于内存计算引擎(IMCE)来处理和分析大量实时数据。

  • 它降低了拥有成本,提高了应用程序性能,使新应用程序能够在以前不可能的实时环境中运行。

  • 它是用 C++ 编写的,仅支持并运行在一种操作系统 Suse Linux Enterprise Server 11 SP1/2 上。

SAP HANA 需求

如今,大多数成功的公司都能对市场变化和新机遇做出快速反应。其中的关键是分析师和管理者有效且高效地使用数据和信息。

HANA 克服了下面提到的限制 -

  • 由于“数据量”的增加,公司如何提供实时数据以进行分析和业务使用是一个挑战。

  • IT企业存储和维护大量数据需要高昂的维护成本。

  • 由于无法获得实时数据,分析和处理结果存在延迟。

SAP HANA 供应商

SAP与IBM、Dell、Cisco等领先的IT硬件供应商合作,并结合SAP授权的服务和技术来销售SAP HANA平台。

共有 11 家供应商生产 HANA 设备并为 HANA 系统的安装和配置提供现场支持。

排名前几位的供应商包括-

  • 国际商业机器公司
  • 戴尔
  • 生命值
  • 思科
  • 富士通
  • 联想(中国)
  • 日本电气公司
  • 华为

根据SAP提供的统计数据,IBM是SAP HANA硬件设备的主要供应商之一,市场份额为50-52%,但根据HANA客户进行的另一项市场调查,IBM的市场占有率高达70%。

SAP HANA 安装

HANA 硬件供应商为硬件、操作系统和 SAP 软件产品提供预配置的设备。

供应商通过现场设置和配置 HANA 组件来完成安装。此次现场访问包括在数据中心部署 HANA 系统、与组织网络的连接、SAP 系统 ID 适配、解决方案管理器的更新、SAP 路由器连接、SSL 支持和其他系统配置。

客户/客户从数据源系统和 BI 客户端的连接开始。HANA Studio安装在本地系统上完成,并添加HANA系统以执行数据建模和管理。

SAP HANA - 内存计算引擎

内存数据库意味着来自源系统的所有数据都存储在 RAM 内存中。在传统的数据库系统中,所有数据都存储在硬盘中。SAP HANA 内存数据库不会浪费时间将数据从硬盘加载到 RAM。它可以更快地访问多核 CPU 的数据以进行信息处理和分析。

内存数据库的特点

SAP HANA 内存数据库的主要特点是 -

  • SAP HANA 是混合内存数据库。

  • 它结合了基于行、基于列和面向对象的基础技术。

  • 它采用多核CPU架构的并行处理。

  • 传统数据库读取内存数据需要5毫秒。SAP HANA 内存数据库在 5 纳秒内读取数据。

这意味着HANA数据库中的内存读取速度比传统数据库硬盘内存读取速度快100万倍。

内存数据库的特点

分析师希望立即实时查看当前数据,而不希望等待数据加载到 SAP BW 系统。SAP HANA 内存处理允许使用各种数据配置技术加载实时数据。

内存数据库的优点

  • HANA 数据库利用内存处理来提供最快的数据检索速度,这对于努力应对大规模在线交易或及时预测和规划的公司来说很有吸引力。

  • 基于磁盘的存储仍然是企业标准,并且 RAM 的价格一直在稳步下降,因此内存密集型架构最终将取代缓慢的机械旋转磁盘,并将降低数据存储的成本。

  • 基于内存列的存储提供高达11倍的数据压缩,从而减少海量数据的存储空间。

  • 通过在分布式环境中使用多核 CPU、每个节点多个 CPU 以及每个服务器多个节点,RAM 存储系统提供的速度优势得到进一步增强。

SAP HANA - 工作室

SAP HANA studio 是一个基于Eclipse 的工具。SAP HANA studio 既是HANA 系统的中央开发环境,又是主要的管理工具。附加功能是 -

  • 它是一个客户端工具,可用于访问本地或远程HANA系统。

  • 它为 HANA 管理、HANA 信息建模和 HANA 数据库中的数据配置提供了环境。

SAP HANA Studio 可在以下平台上使用 -

  • Microsoft Windows 32 和 64 位版本:Windows XP、Windows Vista、Windows 7

  • SUSE Linux Enterprise Server SLES11:x86 64 位

  • Mac OS、HANA studio 客户端不可用

根据 HANA Studio 安装的不同,并非所有功能都可用。安装 Studio 时,根据角色指定要安装的功能。要使用最新版本的 HANA studio,可以使用软件生命周期管理器进行客户端更新。

SAP HANA Studio 观点/功能

SAP HANA Studio 提供了用于以下 HANA 功能的视角。您可以从以下选项中选择 HANA Studio 中的透视图 -

HANA Studio → 窗口 → 开放视角 → 其他

SAP HANA Studio 功能

Sap Hana 工作室管理

用于各种管理任务的工具集,不包括可传输的设计时存储库对象。还包括常规故障排除工具,如跟踪、目录浏览器和 SQL 控制台。

SAP HANA Studio 数据库开发

它提供了用于内容开发的工具集。它特别解决 SAP HANA 场景上的数据集市和 ABAP,其中不包括 SAP HANA 本机应用程序开发 (XS)。

SAP HANA Studio 应用程序开发

SAP HANA系统包含一个小型Web服务器,可用于托管小型应用程序。它提供了用于开发 SAP HANA 本机应用程序(例如用 Java 和 HTML 编写的应用程序代码)的工具集。

默认情况下,安装所有功能。

SAP HANA - Studio 管理视图

要执行 HANA 数据库管理和监控功能,可以使用 SAP HANA 管理控制台视角。

可以通过多种方式访问​​管理员编辑器 -

  • 从系统视图工具栏- 选择“打开管理”默认按钮

  • 在系统视图中- 双击 HANA 系统或打开视角

工作室管理视图

HANA Studio:管理员编辑器

在管理视图中:HANA studio 提供多个选项卡来检查 HANA 系统的配置和运行状况。概述选项卡显示一般信息,例如操作状态、首次和最后启动服务的启动时间、版本、构建日期和时间、平台、硬件制造商等。

将 HANA 系统添加到 Studio

可以将单个或多个系统添加到 HANA studio 中以进行管理和信息建模。要添加新的HANA系统,需要主机名、实例号以及数据库用户名和密码。

  • 应打开端口 3615 以连接到数据库
  • 端口 31015 实例号 10
  • 端口 30015 实例号 00
  • SSH 端口也应该打开

将系统添加到 Hana Studio

要将系统添加到 HANA studio,请按照给定的步骤操作。

右键单击导航器空间,然后单击添加系统。输入 HANA 系统详细信息,即主机名和实例号,然后单击下一步。

指定系统

输入数据库用户名和密码以连接到 SAP HANA 数据库。单击“下一步”,然后单击“完成”。

连接属性

单击完成后,HANA 系统将添加到系统视图中以用于管理和建模目的。每个HANA系统都有两个主要的子节点:Catalog和Content。

目录和内容

目录和内容

目录

它包含所有可用的模式,即所有数据结构、表格和数据、列视图、可在“内容”选项卡中使用的过程。

内容

“内容”选项卡包含设计时存储库,其中保存使用 HANA Modeler 创建的数据模型的所有信息。这些模型以包的形式组织。内容节点提供对相同物理数据的不同视图。

SAP HANA - 系统监视器

HANA studio 中的系统监视器让您对所有 HANA 系统一目了然。从系统监视器中,您可以深入了解管理编辑器中单个系统的详细信息。它优先讲述数据磁盘、日志磁盘、跟踪磁盘、资源使用警报。

系统监视器中提供以下信息 -

SAP Hana 系统监控器

SAP HANA - 信息建模器

SAP HANA 信息建模器;也称为 HANA 数据建模器,是 HANA 系统的核心。它可以在数据库表的顶部创建建模视图并实现业务逻辑以创建有意义的分析报告。

信息建模器的特点

  • 提供存储在 HANA 数据库物理表中的事务数据的多个视图,用于分析和业务逻辑目的。

  • 信息建模器仅适用于基于列的存储表。

  • 信息建模视图由基于 Java 或 HTML 的应用程序或 SAP 工具(例如 SAP Lumira 或 Analysis Office)用于报告目的。

  • 还可以使用 MS Excel 等第三方工具连接到 HANA 并创建报告。

  • SAP HANA 建模视图充分利用 SAP HANA 的真正力量。

信息视图分为三种类型,定义为 -

  • 属性视图
  • 分析视图
  • 计算视图

行存储与列存储

SAP HANA Modeler 视图只能在基于列的表的顶部创建。在列表中存储数据并不是什么新鲜事。早些时候,人们认为在基于列的结构中存储数据需要更多的内存大小,并且没有优化性能。

行存储与列存储

随着 SAP HANA 的发展,HANA 在信息视图中使用了基于列的数据存储,并展示了列式表相对于基于行的表的真正优势。

列存储

在列存储表中,数据是垂直存储的。因此,类似的数据类型聚集在一起,如上例所示。它借助内存计算引擎提供更快的内存读写操作。

在传统的数据库中,数据以基于行的结构存储,即水平存储。SAP HANA 以基于行和列的结构存储数据。这为 HANA 数据库提供了性能优化、灵活性和数据压缩。

在基于列的表中存储数据有以下好处 -

  • 数据压缩

  • 与传统的基于行的存储相比,对表的读写访问速度更快

  • 灵活性和并行处理

  • 以更高的速度执行聚合和计算

有多种方法和算法可以将数据存储在基于列的结构中 - 字典压缩、游程压缩等等。

在字典压缩中,单元格以数字形式存储在表中,并且与字符相比,数字单元格始终进行性能优化。

在运行长度压缩中,它将乘数与单元格值以数字格式保存,并且乘数在表格中显示重复值。

列存储

功能差异 - 行存储与列存储

如果 SQL 语句必须执行聚合函数和计算,则始终建议使用基于列的存储。当运行 Sum、Count、Max、Min 等聚合函数时,基于列的表总是表现得更好。

当输出必须返回完整行时,首选基于行的存储。下面给出的例子很容易理解。

行存储与列存储功能

在上面的示例中,当使用Where子句在销售列中运行聚合函数(Sum)时,在运行SQL查询时只会使用日期和销售列,因此如果它是基于列的存储表,那么它将进行性能优化,速度比数据更快仅需要两列。

运行简单的 Select 查询时,必须在输出中打印整行,因此建议在这种情况下将表存储为基于行。

信息建模视图

属性视图

属性是数据库表中不可测量的元素。它们代表主数据并且类似于BW的特征。属性视图是数据库中的维度,或者用于在建模中连接维度或其他属性视图。

重要特点是 -

  • 属性视图用于分析和计算视图。
  • 属性视图代表主数据。
  • 用于过滤分析和计算视图中维度表的大小。
属性视图

分析视图

分析视图利用 SAP HANA 的强大功能对数据库中的表执行计算和聚合功能。它至少有一个事实表,该事实表具有维度表的度量和主键,并被包含主数据的维度表包围。

重要特点是 -

  • 分析视图旨在执行星型模式查询。

  • 分析视图包含至少一张事实表和多个带有主数据的维度表,并执行计算和聚合

  • 它们类似于 SAP BW 中的信息立方体和信息对象。

  • 可以在属性视图和事实表之上创建分析视图,并执行诸如销售单位数、总价等计算。

计算视图

计算视图在分析视图和属性视图之上使用来执行复杂的计算,这是分析视图无法实现的。计算视图是基本列表、属性视图和分析视图的组合,提供业务逻辑。

重要特点是 -

  • 计算视图可以使用 HANA 建模功能以图形方式定义,也可以在 SQL 中编写脚本。

  • 创建它是为了执行复杂的计算,这是其他视图(SAP HANA 建模器的属性视图和分析视图)无法实现的。

  • 借助计算视图中的项目、并集、联接、排名等内置功能,可以使用一个或多个属性视图和分析视图。

SAP HANA - 核心架构

SAP HANA 最初是用 Java 和 C++ 开发的,设计为仅运行 Suse Linux Enterprise Server 11 操作系统。SAP HANA 系统由多个组件组成,负责强调 HANA 系统的计算能力。

  • SAP HANA系统最重要的组件是索引服务器,它包含SQL/MDX处理器来处理数据库的查询语句。

  • HANA系统包含名称服务器、预处理器服务器、统计服务器和XS引擎,用于通信和托管小型Web应用程序和各种其他组件。

SAP Hana 核心架构

索引服务器

索引服务器是 SAP HANA 数据库系统的核心。它包含实际数据和用于处理该数据的引擎。当 SAP HANA 系统触发 SQL 或 MDX 时,索引服务器会处理所有这些请求并处理它们。所有 HANA 处理都在索引服务器中进行。

索引服务器包含数据引擎来处理进入 HANA 数据库系统的所有 SQL/MDX 语句。它还具有持久层,负责 HANA 系统的持久性,并确保 HANA 系统在系统故障重新启动时恢复到最新状态。

索引服务器还具有会话和事务管理器,它们管理事务并跟踪所有正在运行和关闭的事务。

索引服务器

索引服务器 - 架构

SQL/MDX 处理器

它负责处理 SQL/MDX 事务,数据引擎负责运行查询。它将所有查询请求分段,并将它们引导到正确的引擎以进行性能优化。

它还确保所有 SQL/MDX 请求都得到授权,并提供错误处理以高效处理这些语句。它包含多个用于查询执行的引擎和处理器 -

  • MDX(多维表达式)是 OLAP 系统的查询语言,就像 SQL 用于关系数据库一样。MDX 引擎负责处理查询并操作存储在 OLAP 多维数据集中的多维数据。

  • 规划引擎负责在 SAP HANA 数据库内运行规划操作。

  • 计算引擎将数据转换为计算模型以创建逻辑执行计划以支持语句的并行处理。

  • 存储过程处理器执行过程调用以实现优化处理;它将 OLAP 多维数据集转换为 HANA 优化多维数据集。

交易和会话管理

它负责协调所有数据库事务并跟踪所有正在运行和已关闭的事务。

当事务执行或失败时,事务管理器通知相关数据引擎采取必要的操作。

会话管理组件负责使用预定义的会话参数初始化和管理 SAP HANA 系统的会话和连接。

持久层

它负责HANA系统中事务的持久性和Atomics性。持久层为HANA数据库提供内置的灾难恢复系统。

它确保数据库恢复到最新状态,并确保所有事务在系统故障或重新启动时完成或撤消。

它还负责管理数据和事务日志,还包含HANA系统的数据备份、日志备份和配置备份。备份通过保存点协调器作为保存点存储在数据卷中,通常设置为每 5-10 分钟收回一次。

预处理服务器

SAP HANA系统中的预处理器服务器用于文本数据分析。

当使用文本搜索功能时,索引服务器使用预处理器服务器来分析文本数据并从文本数据中提取信息。

名称服务器

NAME服务器包含HANA系统的系统景观信息。在分布式环境中,有多个节点,每个节点有多个CPU,名称服务器保存HANA系统的拓扑并拥有所有正在运行的组件的信息,并且信息分布在所有组件上。

  • 这里记录了SAP HANA系统的拓扑。

  • 它减少了重新索引的时间,因为它保存了分布式环境中哪个服务器上的数据。

统计服务器

该服务器检查并分析HANA系统中所有组件的健康状况。统计服务器负责收集与系统资源、资源分配和消耗以及HANA系统整体性能相关的数据。

它还提供与系统性能相关的历史数据用于分析目的,以检查和修复 HANA 系统中与性能相关的问题。

XS发动机

XS引擎帮助外部基于Java和HTML的应用程序在XS客户端的帮助下访问HANA系统。SAP HANA 系统包含一个 Web 服务器,可用于托管基于 JAVA/HTML 的小型应用程序。

XS发动机

XS Engine 将存储在数据库中的持久模型转换为通过 HTTP/HTTPS 公开的客户端的消费模型。

SAP 主机代理

SAP Host Agent 应安装在 SAP HANA 系统架构中的所有计算机上。软件更新管理器 SUM 使用 SAP Host Agent 将自动更新安装到分布式环境中的 HANA 系统的所有组件。

LM结构

SAP HANA 系统的 LM 结构包含有关当前安装详细信息的信息。软件更新管理器使用此信息在 HANA 系统组件上安装自动更新。

SAP 解决方案管理器 (SAP SOLMAN) 诊断代理

该诊断代理向 SAP Solution Manager 提供所有数据以监控 SAP HANA 系统。该代理提供有关HANA数据库的所有信息,包括数据库当前状态和一般信息。

提供SAP SOLMAN与SAP HANA系统集成时HANA系统的配置详细信息。

SAP HANA Studio 存储库

SAP HANA studio 存储库可帮助 HANA 开发人员将 HANA studio 的当前版本更新到最新版本。Studio Repository 保存执行此更新的代码。

SAP HANA 软件更新管理器

SAP Market Place 用于安装 SAP 系统的更新。HANA 系统的软件更新管理器可帮助从 SAP Marketplace 更新 HANA 系统。

它用于软件下载、客户消息、SAP Notes 和请求 HANA 系统的许可证密钥。它还用于将 HANA studio 分发到最终用户的系统。

SAP HANA - 建模

SAP HANA Modeler 选项用于在 HANA 数据库中的模式 → 表之上创建信息视图。这些视图由基于 JAVA/HTML 的应用程序或 SAP 应用程序(如 SAP Lumira、Office Analysis)或第三方软件(如 MS Excel)使用,用于报告目的,以满足业务逻辑并执行分析和提取信息。

HANA 建模是在 HANA studio 的架构下的目录选项卡中可用的表的顶部完成的,所有视图都保存在包下的内容表下。

您可以在 HANA studio 的“内容”选项卡下右键单击“内容”和“新建”来创建新包。

在一个包内创建的所有建模视图都位于 HANA studio 中的同一包下,并根据视图类型进行分类。

每个视图都有不同的维度和事实表结构。昏暗表是用主数据定义的,事实表具有维度表的主键和销售单位数、平均延迟时间、总价格等度量值。

事实和维度表

事实表包含维度表和度量的主键。它们与 HANA 视图中的维度表连接以满足业务逻辑。

措施示例- 销售单位数量、总价、平均延迟时间等。

维度表包含主数据并与一个或多个事实表连接以形成一些业务逻辑。维度表用于创建具有事实表的模式,并且可以标准化。

维度表示例- 客户、产品等。

假设一家公司向客户销售产品。每笔销售都是公司内部发生的事实,事实表用于记录这些事实。

事实和维度表

例如,事实表中的第 3 行记录了客户 1 (Brian) 在第 4 天购买了一件商品的事实。并且,在一个完整的示例中,我们还将有一个产品表和一个时间表,以便我们知道她买了什么以及具体时间。

事实表列出了我们公司发生的事件(或者至少是我们想要分析的事件 - 销售数量、利润和销售收入)。维度表列出了我们要分析数据的因素(客户、时间和产品)。

SAP HANA - 数据仓库中的架构

模式是数据仓库中表的逻辑描述。模式是通过连接多个事实表和维度表来创建的,以满足某些业务逻辑。

数据库使用关系模型来存储数据。然而,数据仓库使用连接维度和事实表的模式来满足业务逻辑。数据仓库中使用三种类型的模式 -

  • 星型模式
  • Snowflake模式
  • 银河图式

星型模式

在星型模式中,每个维度都连接到一个事实表。每个维度仅由一个维度表示,并且不进一步标准化。

维度表包含用于分析数据的属性集。

示例- 在下面给出的示例中,我们有一个事实表 FactSales,它具有所有 Dim 表的主键以及用于分析的units_sold 和dollars_ sell 度量。

我们有四个维度表 - DimTime、DimItem、DimBranch、DimLocation

星型模式

每个维度表都连接到事实表,因为事实表具有用于连接两个表的每个维度表的主键。

事实表中的事实/度量与维度表中的属性一起用于分析目的。

Snowflake模式

在Snowflake模式中,一些维度表被进一步规范化,并且维度表连接到单个事实表。规范化用于组织数据库的属性和表,以最大限度地减少数据冗余。

规范化涉及将表分解为冗余较少的较小表,而不丢失任何信息,并将较小的表连接到维度表。

Snowflake模式

在上面的示例中,DimItem 和 DimLocation Dimension 表已标准化,而不会丢失任何信息。这称为Snowflake模式,其中维度表进一步规范化为较小的表。

银河图式

在Galaxy Schema中,有多个事实表和维度表。每个事实表存储几个维度表的主键和用于分析的度量/事实。

银河图式

在上面的示例中,有两个事实表 FactSales、FactShipping 以及连接到事实表的多个维度表。每个事实表都包含连接 Dim 表的主键和用于执行分析的度量/事实。

SAP HANA - 表

可以从架构下的目录选项卡中的 HANA Studio 访问 HANA 数据库中的表。可以使用下面给出的两种方法创建新表 -

  • 使用 SQL 编辑器
  • 使用 GUI 选项

HANA Studio 中的 SQL 编辑器

可以通过选择架构名称来打开 SQL 控制台,其中必须使用系统视图 SQL 编辑器选项或右键单击架构名称来创建新表,如下所示 -

SQL编辑器

打开 SQL 编辑器后,可以从 SQL 编辑器顶部写入的名称来确认架构名称。可以使用 SQL Create Table 语句创建新表 -

Create column Table Test1 (
   ID INTEGER,
   NAME VARCHAR(10),
   PRIMARY KEY (ID)
);

在此 SQL 语句中,我们创建了一个列表“Test1”,定义了表的数据类型和主键。

编写“创建表 SQL 查询”后,单击 SQL 编辑器右侧顶部的“执行”选项。执行该语句后,我们将收到一条确认消息,如下面给出的快照所示 -

语句“创建列表 Test1 (ID INTEGER,NAME VARCHAR(10), PRIMARY KEY (ID))”

在 13 ms 761 μs 内成功执行(服务器处理时间:12 ms 979 μs) - 受影响的行数:0

执行SQL语句

执行语句还说明执行该语句所花费的时间。语句成功执行后,右键单击系统视图中架构名称下的表选项卡并刷新。新表将反映在架构名称下的表列表中。

Insert 语句用于使用 SQL 编辑器在表中输入数据。

Insert into TEST1 Values (1,'ABCD')
Insert into TEST1 Values (2,'EFGH');

单击“执行”。

您可以右键单击表名称并使用“打开数据定义”来查看表的数据类型。打开数据预览/打开内容以查看表格内容。

使用 GUI 选项创建表

在 HANA 数据库中创建表的另一种方法是使用 HANA Studio 中的 GUI 选项。

右键单击“架构”下的“表”选项卡 → 选择“新建表”选项,如下面的快照所示。

单击“新建表”→它将打开一个窗口来输入表名称,从下拉列表中选择架构名称,从下拉列表中定义表类型:列存储或行存储。

定义数据类型如下所示。可以通过单击+号来添加列,可以通过单击列名称前面的主键下的单元格来选择主键,默认情况下不为空将处于活动状态。

添加列后,单击“执行”。

创建表

执行 (F8) 后,右键单击“表”选项卡→“刷新”。新表将反映在所选模式下的表列表中。下面的插入选项可用于在表中插入数据。Select 语句查看表的内容。

桌子

在 HANA studio 中使用 GUI 将数据插入表中

您可以右键单击表名称并使用“打开数据定义”来查看表的数据类型。打开数据预览/打开内容以查看表格内容。

要使用一个架构中的表来创建视图,我们应该向运行 HANA 建模中所有视图的默认用户提供对该架构的访问权限。这可以通过转到 SQL 编辑器并运行此查询来完成 -

使用 GRANT OPTION 将架构“<SCHEMA_NAME>”上的选择授予 _SYS_REPO

SAP HANA - 包

SAP HANA 包显示在 HANA studio 的“内容”选项卡下。所有 HANA 建模都保存在包内。

您可以通过右键单击内容选项卡 → 新建 → 包来创建新包

包裹

您还可以通过右键单击包名称来在包下创建子包。当我们右键单击包时,我们会得到 7 个选项:我们可以在包下创建 HANA 视图、属性视图、分析视图和计算视图。

子包

您还可以创建决策表、定义分析权限并在包中创建过程。

当右键单击Package并单击New时,您还可以在Package中创建子包。创建包时必须输入包名称、描述。

SAP HANA - 属性视图

SAP HANA 建模中的属性视图是在维度表的顶部创建的。它们用于连接维度表或其他属性视图。您还可以从其他包内现有的属性视图复制新的属性视图,但这不允许您更改视图属性。

属性视图的特点

  • HANA 中的属性视图用于连接维度表或其他属性视图。

  • 属性视图用于分析和计算视图中进行分析以传递主数据。

  • 它们与BM中的Characteristics类似,包含主数据。

  • 属性视图用于大型维度表中的性能优化,您可以限制属性视图中的属性数量,这些属性进一步用于报告和分析目的。

  • 属性视图用于对主数据进行建模以提供一些上下文。

如何创建属性视图?

选择要在其下创建属性视图的包名称。右键单击包→转到新建→属性视图

创建属性视图

当您单击属性视图时,将打开新窗口。输入属性视图名称和描述。从下拉列表中,选择视图类型和子类型。在子类型中,属性视图分为三种类型:标准、时间和派生。

选择类型和子类型

时间子类型属性视图是一种特殊类型的属性视图,它将时间维度添加到数据基础。当您输入属性名称、类型和子类型并单击“完成”时,它将打开三个工作窗格 -

  • 具有数据基础和语义层的场景窗格。

  • 详细信息窗格显示添加到数据基础的所有表的属性以及它们之间的连接。

  • 输出窗格,我们可以在其中添加详细信息窗格中的属性以在报告中进行过滤。

您可以通过单击数据基础旁边的“+”号将对象添加到数据基础。您可以在场景窗格中添加多个维度表和属性视图,并使用主键将它们连接起来。

当您单击数据基础中的“添加对象”时,您将看到一个搜索栏,您可以在其中将维度表和属性视图添加到场景窗格。将表或属性视图添加到数据基础后,可以使用详细信息窗格中的主键将它们连接起来,如下所示。

在数据基础中添加对象

连接完成后,在详细信息窗格中选择多个属性,右键单击并添加到输出。所有列都将添加到输出窗格。现在单击“激活”选项,您将在作业日志中收到一条确认消息。

现在您可以右键单击“属性视图”并转到“数据预览”。

将属性添加到输出窗格

注意- 当视图未激活时,它上面有菱形标记。但是,一旦您激活它,该菱形就会消失,从而确认视图已成功激活。

单击“数据预览”后,它将显示已添加到“可用对象”下的输出窗格中的所有属性。

可以通过右键单击并添加或拖动对象将这些对象添加到标签和值轴,如下所示 -

将对象添加到轴

SAP HANA - 分析视图

分析视图采用星型模式的形式,其中我们将一个事实表连接到多个维度表。分析视图利用 SAP HANA 的强大功能,通过以星型模式形式连接表并执行星型模式查询来执行复杂的计算和聚合函数。

分析视图的特点

以下是 SAP HANA 分析视图的属性 -

  • 分析视图用于执行复杂的计算和聚合函数,例如 Sum、Count、Min、Max 等。

  • 分析视图旨在运行启动架构查询。

  • 每个分析视图都有一个被多个维度表包围的事实表。事实表包含每个 Dim 表的主键和度量。

  • 分析视图类似于 SAP BW 的信息对象和信息集。

如何创建分析视图?

选择要在其下创建分析视图的包名称。右键单击包 → 转到新建 → 分析视图。当您单击分析视图时,将打开新窗口。输入视图名称和描述,然后从下拉列表中选择视图类型和完成。

创建分析视图

单击“完成”后,您可以看到带有数据基础和星型连接选项的分析视图。

单击“数据基础”以添加维度和事实表。单击星形连接以添加属性视图。

使用“+”号将 Dim 和 Fact 表添加到 Data Foundation。在下面给出的示例中,已将 3 个昏暗表:DIM_CUSTOMER、DIM_PRODUCT、DIM_REGION 和 1 个事实表 FCT_SALES 添加到详细信息窗格。使用事实表中存储的主键将 Dim 表连接到事实表。

在分析视图中添加表

从 Dim 和 Fact 表中选择属性以添加到输出窗格,如上面的快照所示。现在将事实的数据类型从事实表更改为度量。

单击语义层,选择事实,然后单击如下所示的度量符号,将数据类型更改为度量并激活视图。

定义措施

激活视图并单击数据预览后,所有属性和度量都将添加到可用对象列表下。将属性添加到标签轴并将度量添加到值轴以进行分析。

可以选择不同类型的图表和图形。

选择图表

SAP HANA - 计算视图

计算视图用于使用其他分析、属性和其他计算视图以及基本列表。它们用于执行复杂的计算,这是其他类型的视图不可能实现的。

计算视图的特点

下面给出了计算视图的一些特征 -

  • 计算视图用于使用分析、属性和其他计算视图。

  • 它们用于执行复杂的计算,这是其他视图无法实现的。

  • 有两种方法可以创建计算视图 - SQL 编辑器或图形编辑器。

  • 内置联合、连接、投影和聚合节点。

如何创建计算视图?

选择要在其下创建计算视图的包名称。右键单击包 → 转到新建 → 计算视图。当您单击计算视图时,将打开新窗口。

创建计算视图

输入视图名称、描述,然后选择视图类型为计算视图、子类型标准或时间(这是添加时间维度的特殊视图)。您可以使用两种类型的计算视图 - 图形和 SQL 脚本。

图形计算视图

它有默认的节点,如聚合、投影、连接和联合。它用于使用其他属性、分析和其他计算视图。

基于 SQL 脚本的计算视图

它是用基于 SQL 命令或 HANA 定义的函数构建的 SQL 脚本编写的。

数据类别

Cube,在这个默认节点中,就是Aggregation。您可以选择星形连接与立方体维度。

维度,在此默认节点中是投影。

数据类别

带星型连接的计算视图

它不允许在数据基础上添加基本列表、属性视图或分析视图。所有维度表必须更改为维度计算视图才能在星型连接中使用。可以添加所有事实表,并且可以使用计算视图中的默认节点。

例子

以下示例显示了如何将计算视图与星型连接一起使用 -

您有四个表、两个 Dim 表和两个 Fact 表。您必须找到所有员工的列表及其加入日期、员工姓名、员工 ID、工资和奖金。

将以下脚本复制并粘贴到 SQL 编辑器中并执行。

昏暗表 - Empdim 和 Empdate

Create column table Empdim (empId nvarchar(3),Empname nvarchar(100));
Insert into Empdim values('AA1','John');
Insert into Empdim values('BB1','Anand');
Insert into Empdim values('CC1','Jason');
Create column table Empdate (caldate date, CALMONTH nvarchar(4) ,CALYEAR nvarchar(4));
Insert into Empdate values('20100101','04','2010');
Insert into Empdate values('20110101','05','2011');
Insert into Empdate values('20120101','06','2012');

事实表 - Empfact1、Empfact2

Create column table Empfact1 (empId nvarchar(3), Empdate date, Sal integer );
Insert into Empfact1 values('AA1','20100101',5000);
Insert into Empfact1 values('BB1','20110101',10000);
Insert into Empfact1 values('CC1','20120101',12000);

Create column table Empfact2 (empId nvarchar(3), deptName nvarchar(20), Bonus integer );
Insert into Empfact2 values ('AA1','SAP', 2000);
Insert into Empfact2 values ('BB1','Oracle', 2500);
Insert into Empfact2 values ('CC1','JAVA', 1500);

现在我们必须使用星型连接来实现计算视图。首先将两个 Dim 表更改为 Dimension Calculation View。

使用星形连接创建计算视图。在图形窗格中,为 2 个事实表添加 2 个投影。将两个事实表添加到两个投影,并将这些投影的属性添加到输出窗格。

明星加盟

从默认节点添加联接并联接两个事实表。将事实连接的参数添加到输出窗格。

输出面板

在星形连接中,添加维度计算视图并将事实连接添加到星形连接,如下所示。在输出窗格中选择参数并激活视图。

活动视图

SAP HANA 计算视图 - 星形连接

成功激活视图后,右键单击视图名称,然后单击数据预览。将属性和度量添加到值和标签轴并进行分析。

使用星加入的好处

它简化了设计过程。您无需创建分析视图和属性视图,直接将事实表用作投影。

通过 Star Join 可以实现 3NF。

没有星型连接的计算视图

在 2 个 Dim 表上创建 2 个属性视图 - 添加输出并激活这两个视图。

在事实表上创建 2 个分析视图 → 在分析视图的数据基础中添加属性视图和 Fact1/Fact2。

现在创建一个计算视图→尺寸(投影)。创建两个分析视图的投影并连接它们。将此连接的属性添加到输出窗格。现在加入投影并再次添加输出。

激活查看成功,进入数据预览进行分析。

无明星加盟

SAP HANA - 分析权限

分析权限用于限制对 HANA 信息视图的访问。您可以在分析权限中的视图的不同组件上为不同用户分配不同类型的权限。

有时,要求同一视图中的数据不能被对该数据没有任何相关要求的其他用户访问。

例子

假设您有一个分析视图 EmpDetails,其中包含有关公司员工的详细信息 - Emp 姓名、Emp Id、部门、薪资、加入日期、Emp 登录等。现在,如果您不希望报告开发人员查看薪资详细信息或 Emp所有员工的登录详细信息,您可以使用分析权限选项隐藏此信息。

  • 分析权限仅应用于信息视图中的属性。我们无法添加限制分析权限访问的措施。

  • 分析权限用于控制对 SAP HANA 信息视图的读取访问。

因此,我们可以通过员工姓名、员工 ID、员工登录或员工部门来限制数据,而不是通过工资、奖金等数值来限制数据。

创建分析权限

右键单击包名称并转到新的分析权限,或者您可以使用 HANA Modeler 快速启动打开。

创建分析权限

输入分析权限的名称和描述 → 完成。新窗口将会打开。

您可以单击“下一步”按钮并在此窗口中添加建模视图,然后单击“完成”。还有一个选项可以复制现有的分析权限包。

单击“添加”按钮后,它将显示“内容”选项卡下的所有视图。

将视图添加到分析权限

选择要添加到分析权限包的视图,然后单击确定。选定的视图将添加到参考模型下。

现在,要从“分析权限”下的选定视图添加属性,请单击“关联属性限制”窗口中的“添加”按钮。

选择对象

从选择对象选项中添加要添加到分析权限的对象,然后单击确定。

在分配限制选项中,它允许您添加要在建模视图中对特定用户隐藏的值。您可以添加不会反映在建模视图的数据预览中的对象值。

为对象分配限制

我们现在必须通过单击顶部的绿色圆形图标来激活分析权限。状态消息 – 已成功完成确认作业日志下激活成功,我们现在可以通过添加到角色来使用此视图。

现在要将此角色添加到用户,请转到安全选项卡→用户→选择要应用这些分析权限的用户。

向用户角色添加分析权限

使用名称搜索您要应用的分析权限,然后单击“确定”。该视图将添加到分析权限下的用户角色。

要删除特定用户的分析权限,请选择选项卡下的视图并使用红色删除选项。使用部署(顶部的箭头标记或 F8 将其应用到用户配置文件)。

SAP HANA - 信息编辑器

SAP HANA Information Composer 是一个自助建模环境,供最终用户分析数据集。它允许您将数据从工作簿格式(.xls、.csv)导入到 HANA 数据库中并创建建模视图以进行分析。

Information Composer 与 HANA Modeler 有很大不同,两者都是针对不同的用户组而设计的。在数据建模方面拥有丰富经验的技术过硬的人员会使用 HANA Modeler。没有任何技术知识的业务用户使用 Information Composer。它提供简单的功能和易于使用的界面。

信息作曲家的特点

  • 数据提取- Information Composer 有助于提取数据、清理数据、预览数据以及自动化在 HANA 数据库中创建物理表的过程。

  • 操作数据- 它帮助我们组合两个对象(物理表、分析视图、属性视图和计算视图)并创建可供 SAP Business Objects Analysis、SAP Business Objects Explorer 等 SAP BO 工具和 MS 等其他工具使用的信息视图优秀。

  • 它以 URL 的形式提供集中式 IT 服务,可以从任何地方访问。

如何使用Information Composer上传数据?

它允许我们上传大量数据(最多 500 万个单元格)。访问信息编辑器的链接 -

http://<服务器>:<端口>/IC

登录 SAP HANA 信息编辑器。您可以使用此工具执行数据加载或操作。

要上传数据,可以通过两种方式完成 -

  • 将.xls、.csv文件直接上传到HANA数据库
  • 另一种方法是将数据复制到剪贴板,然后从那里复制到 HANA 数据库。
  • 它允许数据与标头一起加载。

在信息编辑器的左侧,您有三个选项 -

选择数据源→数据分类→发布

上传数据

一旦数据发布到HANA数据库,您就无法重命名表。在这种情况下,您必须从 HANA 数据库的 Schema 中删除该表。

“SAP_IC”模式,其中存在 IC_MODELS、IC_SPREADSHEETS 等表。您可以在这些表下找到使用 IC 创建的表的详细信息。

电子表格

使用剪贴板

在 IC 中上传数据的另一种方法是使用剪贴板。将数据复制到剪贴板并在 Information Composer 的帮助下上传。Information Composer 还允许您查看数据预览,甚至提供临时存储中的数据摘要。它具有内置的数据清理功能,用于消除数据中的任何不一致之处。

清理数据后,您需要对数据进行分类(无​​论其是否归属)。IC 具有内置功能来检查上传数据的数据类型。

最后一步是将数据发布到 HANA 数据库中的物理表。提供表的技术名称和描述,这将加载到 IC_Tables 架构中。

使用通过 Information Composer 发布的数据的用户角色

可以定义两组用户来使用 IC 发布的数据。

  • IC_MODELER用于创建物理表、上传数据和创建信息视图。

  • IC_PUBLIC 允许用户查看其他用户创建的信息视图。此角色不允许用户使用 IC 上传或创建任何信息视图。

Information Composer 的系统要求

服务器要求 -

  • 至少需要 2GB 可用 RAM。

  • 服务器上必须安装 Java 6(64 位)。

  • Information Composer 服务器在物理上必须位于 HANA 服务器旁边。

客户要求 -

  • 安装了 Silverlight 4 的 Internet Explorer。

SAP HANA - 导出和导入

HANA 导出和导入选项允许表、信息模型、景观移动到不同的或现有的系统。您不需要重新创建所有表和信息模型,因为您只需将其导出到新系统或导入到现有目标系统即可减少工作量。

可以从顶部的“文件”菜单或右键单击 HANA studio 中的任何表或信息模型来访问此选项。

解释和导入

在 HANA Studio 中导出表/信息模型

转到文件菜单→导出→您将看到如下所示的选项 -

解释目的地

SAP HANA 内容下的导出选项

交付单位

交付单元是单个单元,可以映射到多个包裹并可以作为单个实体导出,以便分配给交付单元的所有包裹都可以视为单个单元。

用户可以使用此选项将构成交付单元的所有包以及其中包含的相关对象导出到 HANA 服务器或本地客户端位置。

用户应在使用之前创建交付单元。

这可以通过 HANA Modeler → 交付单元 → 选择系统和下一步 → 创建 → 填写名称、版本等详细信息 → 确定 → 将包添加到交付单元 → 完成

交付单位

创建交付单元并将包裹分配给它后,用户可以使用导出选项查看包裹列表 -

转到文件 → 导出 → 交付单位 → 选择交付单位。

您可以查看分配给交付单元的所有包裹的列表。它提供了选择导出位置的选项 -

  • 导出到服务器
  • 导出至客户端
通过交货单位出口

您可以将交付单元导出到 HANA 服务器位置或客户端位置,如图所示。

用户可以通过“按时间过滤”来限制导出,这意味着只有在指定时间间隔内更新的信息视图才会被导出。

选择交付单位和导出位置,然后单击下一步 → 完成。这会将选定的交付单元导出到指定位置。

开发者模式

此选项可用于将单个对象导出到本地系统中的某个位置。用户可以选择单个信息视图或一组视图和包,并选择用于导出和完成的本地客户端位置。

这如下面的快照所示。

开发者模式

支持方式

这可用于导出对象和数据以用于 SAP 支持目的。当需要时可以使用此功能。

示例- 用户创建一个信息视图,该视图引发错误并且他无法解决。在这种情况下,他可以使用此选项将视图与数据一起导出并与 SAP 共享以进行调试。

支持方式

SAP HANA Studio 下的导出选项-

景观- 将景观从一个系统导出到另一个系统。

表格- 此选项可用于导出表格及其内容。

SAP HANA 内容下的导入选项

转到“文件”→“导入”,您将在“导入”下看到如下所示的所有选项。

来自本地文件的数据

这用于从 .xls 或 .csv 文件等平面文件导入数据。

进口

单击下一步 → 选择目标系统 → 定义导入属性

通过浏览本地系统选择源文件。如果您想保留标题行,它还提供了一个选项。它还提供了一个选项,可以在现有架构下创建新表,或者如果您想将数据从文件导入到现有表中。

来自本地文件1的数据

当您单击“下一步”时,它会提供一个选项来定义主键、更改列的数据类型、定义表的存储类型,还允许您更改建议的表结构。

来自本地文件2的数据

当您单击“完成”时,该表将填充在上述架构中的表列表下。您可以进行数据预览,并可以检查表的数据定义,它将与.xls文件的数据定义相同。

从本地文件导入数据

交付单位

通过转至文件 → 导入 → 交付单位来选择交付单位。您可以选择服务器或本地客户端。

您可以选择“覆盖非活动版本”,这允许您覆盖现有对象的任何非活动版本。如果用户选择“激活对象”,则导入后,所有导入的对象将默认激活。用户无需为导入的视图手动触发激活。

通过交货单位进口

单击完成,成功完成后,它将填充到目标系统。

开发者模式

浏览导出视图的本地客户端位置并选择要导入的视图,用户可以选择单个视图或一组视图和包,然后单击“完成”。

元数据批量导入

转到文件 → 导入 → 批量导入元数据 → 下一步,然后选择源系统和目标系统。

配置系统进行批量导入并单击完成。

元数据批量导入

选择性导入元数据

它允许您选择表和目标模式以从 SAP 应用程序导入元数据。

转到文件→导入→选择性导入元数据→下一步

选择“SAP 应用程序”类型的源连接。请记住,数据存储应已创建为 SAP 应用程序类型 → 单击“下一步”

选择性导入元数据1 选择性导入元数据2

选择要导入的表并根据需要验证数据。之后单击“完成”。

SAP HANA - 报告视图

我们知道,通过使用SAP HANA中的信息建模功能,我们可以创建不同的信息视图:属性视图、分析视图、计算视图。这些视图可以由不同的报告工具(例如 SAP Business Object、SAP Lumira、Design Studio、Office Analysis)甚至第三方工具(例如 MS Excel)使用。

这些报告工具使业务经理、分析师、销售经理和高级管理人员能够分析历史信息,以创建业务场景并决定公司的业务战略。

这就需要通过不同的报告工具使用 HANA 建模视图并生成最终用户易于理解的报告和仪表板。

报告与分析

在大多数实施 SAP 的公司中,HANA 报告是通过 BI 平台工具完成的,这些工具在关系和 OLAP 连接的帮助下使用 SQL 和 MDX 查询。有各种各样的 BI 工具,例如 Web Intelligence、Crystal Reports、Dashboard、Explorer、Office Analysis 等等。

Bi 4.0 连接到 Hana Views

报告工具

Web Intelligence 和 Crystal Reports 是用于报告的最常见的 BI 工具。WebI 使用称为 Universe 的语义层连接到数据源,这些 Universe 用于工具中的报告。这些 Universe 是在 Universe 设计工具 UDT 或信息设计工具 IDT 的帮助下设计的。IDT 支持启用多源的数据源。但是,UDT 仅支持单一源。

用于设计交互式仪表板的主要工具 - Design Studio 和 Dashboard Designer。Design Studio 是用于设计仪表板的未来工具,它通过 BI 消费者服务 BICS 连接使用 HANA 视图。仪表板设计 (xcelsius) 使用 IDT 通过关系或 OLAP 连接使用 HANA 数据库中的架构。

SAP Lumira 具有直接连接 HANA 数据库或从 HANA 数据库加载数据的内置功能。HANA 视图可以直接在 Lumira 中使用以进行可视化和创建故事。

Office Analysis 使用 OLAP 连接来连接到 HANA 信息视图。可以在 CMC 或 IDT 中创建此 OLAP 连接。

报告工具

上图中,所有BI工具都用实线显示,可以使用OLAP连接直接与SAP HANA连接和集成。它还描述了需要使用 IDT 进行关系连接以连接到 HANA 的工具,并以虚线显示。

关系连接与 OLAP 连接

这个想法基本上是,如果您需要从表或传统数据库访问数据,那么您的连接应该是关系连接,但如果您的源是应用程序并且数据存储在多维数据集中(多维,如信息多维数据集、信息模型),那么您将使用 OLAP 连接。

  • 关系连接只能在 IDT/UDT 中创建。
  • OLAP 可以在 IDT 和 CMC 中创建。

另一件需要注意的事情是,关系连接总是生成要从报表中触发的 SQL 语句,而 OLAP 连接通常会创建 MDX 语句

信息设计工具

在信息设计工具 (IDT) 中,您可以使用 JDBC 或 ODBC 驱动程序创建与 SAP HANA 视图或表的关系连接,并使用此连接构建 Universe 以提供对仪表板和 Web Intelligence 等客户端工具的访问,如上图所示。

您可以使用 JDBC 或 ODBC 驱动程序创建与 SAP HANA 的直接连接。

SAP HANA - 水晶报表

企业水晶报表

在 Crystal Reports for Enterprise 中,您可以使用信息设计工具创建的现有关系连接来访问 SAP HANA 数据。

您还可以使用通过信息设计工具或 CMC 创建的 OLAP 连接来连接到 SAP HANA。

设计工作室

Design Studio 可以使用在信息设计工具或 CMC 中创建的现有 OLAP 连接来访问 SAP HANA 数据,就像 Office Analysis 一样。

仪表板

仪表板只能通过关系 Universe 连接到 SAP HANA。在 SAP HANA 之上使用仪表板的客户应强烈考虑使用 Design Studio 构建新的仪表板。

网络智能

Web Intelligence 只能通过关系宇宙连接到 SAP HANA。

SAP Lumira

Lumira可以直接连接到SAP