热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SAPBW学习之基础知识篇

目录1.信息对象2.原系统3.数据源4.转换5.数据流6.DTP7.导航属性8.DSO数据存储对象(1)DSO的四种类型:

目录

1.信息对象

2.原系统

3.数据源

4.转换

5.数据流

6.DTP

7.导航属性

8.DSO数据存储对象

(1)DSO的四种类型:

(2)DSO和CUBE的区别:

(3)数据存储:

(4)创建DateStore Object:

9.CompositeProvider复合提供者

10.处理链

11.query

12.InfoProvider

 




1.信息对象


InfoObject,BI中存储数据的最小对象。而且,BI中也提供了很多InfoObject,InfoCube也就是对这些InfoObject进行组合,对于数据分析有很好的耦合性。

InfoObject,物理数据模型,可以是InfoProvider本身,也可以在InfoProvider中使用。DataStore对象是一个可以由InfoObject组成的InfoProvider。

BW除了可以将数据抽取到PSA和DSO之外,也可以将数据收入到InfoObject。一般来讲,InfoObject分为characteristic和key figure分别用来管理文本型和数字型的数据。


InfoObject共有四种类型,特性(Characteristic)、关键值(Key Figure)、单位(Unit)、XXL


  • 特性(Characteristic):这些特性指定关键指标存储在InfoProvider中的粒度(详细程度)。如果特性具有属性、文本或层次结构,这些被称为承载数据的特征。

数据类型:

时间特性是日期,会计年度等特性。技术特性仅在BW内部用于管理目的。

技术特征的一个示例是请求编号。当将请求作为ID加载或者以后查找请求时,会生成此消息。

SNUMC:转换例程SNUMC可以将整数(INT4,INT8,DEC)格式的数据转换为另一种格式。

例如,如果要使用开放ODS视图访问SAP HANA中的表或视图,或者要使用SAP HANA数据源将数据加载到BW系统中,则需要进行此转换。


  • 关键值(Key Figure):可以是数额、数量或项目数。其属性会影响数据加载的方式以及查询的显示方式。这包括分配货币或度量单位,设置汇总和异常汇总,以及指定查询中的小数位数。

数据类型:

 


  • 单位(Unit):单位是关键值数据有价值必须条件

数据类型:


  • XXL:可以使用MIME类型进一步指定数据类型。 支持多种格式,包括不同的文档类型,音频文件或视频文件,文本和图像。

SAP BW / 4HANA中可用的MIME类型包括图像类型(PNG,IMG,BITF,PFX等),视频类型(MPG,AVI,QT,VDO等),Microsoft类型(DOC,PPT,XLS,RTF, 等),Adobe PDF,AutoCAD(DWG)等。

数据类型:

 


2.原系统


可以使用SAP BW∕4HANA中的源系统来设置与数据传输源的连接。主要管理BW中的数据源提供系统,一般是公司的业务系统或flatfile文件。

可以使用开放的ODS视图和CompositeProviders虚拟地访问数据。所有源都支持完全模式下的数据传输,前提是源支持此模式(通用增量)。对于许多数据供应适配器,SAP HANA源系统支持实时复制


新建原系统:

SAP HANA Local Database Schema:通过数据库连接方式连接BW4/HANA后台HANA数据库其他schema;

SAP HANA Smart Data Access:通过ODBC连接其他系统数据库;如果源系统是通过Smart Data Access与SAP HANA数据库连接的外部数据源,请选择此选项。 通过此连接类型,可以使用SAP HANA智能数据集成提供的源。 与外部源的连接是使用数据供应适配器进行的。作为连接参数,可以指定将源 连接到SAP HANA的远程源,或者可以通过源系统进行访问的源区域。 根据远程源(因此取决于适配器),可以通过指定远程数据库和所有者或架构来指定区域,或者,如果源具有分层文件夹结构而不是架构,则可以使用路径前缀来指定区域。

SAP HANA Tenant Database Schema:通过数据库连接方式连接其他HANA数据库,在单个SAP HANA系统中支持多个隔离的数据库。 这些被称为租户数据库,如果将SAP HANA系统的租户数据库中的特定模式用作源系统,则可以使用此选项。 然后,可以访问源系统配置中定义的租户数据库的架构的表,视图或本机DataStore对象。;

Big Data: 连接大数据平台 ;

Operational Data Provisioning(ODP):通过EFC连接其他SAP系统 ;

File:连接手工数据文件。

 


3.数据源


数据源是一组字段,为业务部门提供数据以进行数据访问和提取,以及将数据传输到SAP BW ∕ 4HANA中。从技术角度来看,DataSource是一组逻辑相关的字段,提供了这些字段以平面结构(提取结构)或多个平面结构(用于层次结构)的形式访问数据并将数据传输到SAP BW ∕ 4HANA中。


数据可以通过数据传输过程或信息包从数据源结构中的源加载到sapbw∕4HANA系统中。在转换过程中,确定要将数据从数据源传输到的目标。还可以将数据源字段分配给InfoObjects或sapbw∕4HANA中目标对象的字段。

DataSource是BW中的真实数据源,通常被称为PSA层,对来存储和业务系统中完全一致的数据,这一层是临时数据存储层,里面的数据不会一直存在。


4.转换


转换(Transformation)操作可以实现整合、清理和集成数据。可以使用语义特征,整合不同来源的数据。当数据从BW对象或虚拟对象加载到目标BW对象时,数据将通过转换。转换操作将源的字段转换为目标的格式。


在BW多级模型中,不同层级之间需要进行数据的传递,transformation就是用来完成这一任务的。在transformation中可以规定上下两层之间数据的对应关系,可以是直接传递等简单方式,也可以通过自己编写公式实现复杂的数据整理逻辑。

转换和DTP数一一对应的,转换只是定义数据有源到目标模型的数据转换规则,DTP是按照转换 逻辑具体执行数据由源抽取到目标模型。

转换有三种例程:开始例程,结束例程,专家例程

开始例程:开始例程的逻辑是执行在执行转换之前

结束例程:结束例程的逻辑是执行在执行转换之后,对处理后的数据结果集再次进行处理

专家例程:无转换规则,所有处理逻辑都根据专家例程进行数据处理

创建转换:

转换规则类型:

Direct Assignment: 直接赋值

Formula:可以写简单的公式

lookup:根据相应的主数据匹配 相关数据

Constant:常量

Routine:写代码处理逻辑

No Update:不做任何更新。


5.数据流

Data Flow:它描述了一组SAP BW/4HANA对象,包括它们之间的关系和相互依赖关系。

Data flow object:数据流对象是SAP BW∕4HANA中描述数据流的TLOGO对象。数据流对象是在图形编辑器中创建和编辑的。它可以可视化数据流中包含的SAP BW/4HANA对象(及其关系)。可以使用数据流对象将具有持久性对象和现有数据流的现有业务情景的可视化存储为SAP BW ∕ 4HANA中的BW对象类型。它们与SAP BW∕4HANA运行时无关。


6.DTP


DTP(Data Transfer Processes):数据传输流程;根据转换规则和逻辑具体进行数据抽取和处理、数据过滤。

DTP主要用于BW内部数据加载,总是和转换成对出现,当转换激活后,则会出现一个相对应的空的DTP文件,要确保每个转换下都要建立DTP。



7.导航属性

在BI中,属性分为如下两种类型:显示、导航。所谓的属性在单独看来其实还是信息对象。每个特征都可以包含:主数据、属性、层级。例如:特征A、特征B。如果我将特征A放置到特征B的属性中去,那么特征A就叫做特征B的属性。

一般默认的情况下,所有的属性都是显示属性。所谓的显示属性就是在报表开发的过程中仅仅用来显示,并没有其他的下钻的功能,仅仅是为了来描述它对应的特征对象而以。

此外,关键值也是可以作为属性来使用的。前提是这个关键值的变化频率要低。
 


8.ADSO数据存储对象


ADSO包括DSO、Cube、PSA。

DataStore Object 特别适合处理频繁加载和大量数据。通过二维表保存真实的数据,BW中通过建立多层DSO模型来完成对数据的ETL过程,已得到最终需要的数据格式和结构。

数据存储对象最多包含三个表:激活队列表(Activation Queue)、更改日志(Change Log)和活动数据表(Active Data)。



(1)DSO的四种类型:


  • 标准数据存储对象(Standard DataStore Object)

标准的数据存储对象适用于大多数应用案例和报告。

①Write Change Log(写入更改日志):

如果选择此选项,则增量(新记录,已删除记录和更改记录)将保存在更改日志中。更改日志用于提取增量。仅当DataStore对象具有更改日志时,才可以从DataStore对象回滚请求,即可以恢复激活请求之前的状态。

②Snapshot Support(快照支持):

如果数据源仅以“FULL”的形式传递当前数据集,通过设置该指标,可以识别、更新已删除的数据记录。激活后,系统将识别活动数据表中但不在加载请求中的记录。这些将作为反向映像写入更改日志。注意:确保在每次加载期间包含所有记录,否则数据可能会丢失。

③Unique Data Records:

如果仅将唯一数据记录(具有非重复键组合的数据记录)加载到数据存储对象中,则可以选择此属性。如果选择了该指标,则在激活期间,系统将检查是否存在唯一的记录。如果记录已存在,则激活将被取消,并出现错误。

Load Data:把请求加载到入站表中。

Activate:把数据从入站表传输到活动数据表,具有相同密钥的数据将按照指定的聚合进行汇总。如果选择了“写入更改日志”属性,则激活的差异将写入更改日志。

Deletion/Rollback:如果请求尚未激活,则可以从入站表中删除它们。如果要回滚已激活的请求,则只有在选择了属性“写入更改日志”时才能执行此操作。

Extraction:从活动数据表中提取用于更新到另一个数据目标的数据,以进行初始和完全提取,并从变更日志中提取数据,以进行增量提取。

Reporting:执行查询时,将访问活动数据表,因此仅可见先前已激活的数据。 对于标准DataStore对象,没有稳定的指引报告,就像数据集DataStore对象一样。


  • 分段存储数据对象(Staging DataStore Object)

可以通过选择其属性来以不同的方式使用Staging DataStore对象

                                                               Compress Data                                                                                                                 Reporting-Enabled

Load Data:把请求加载到入站表中。

Activate:对于具有“已启用报告”(Reporting-Enabled)和“压缩数据”(Compress Data)属性的DataStore对象,可以进行激活/压缩。对于仅具有入站队列(Inbound Queue),属性的数据存储对象,则不可以。可以使用命令“compression”,数据从入站表移动到包含活动数据的表,并且根据默认聚合合并具有相同键值的所有记录。使用命令“activation”,相关数据从入站表复制到包含活动数据的表,并且只有在可见的情况下才能进行报告。 但是,具有相同键的记录也会根据此处的汇总进行合并。

Deletion/Rollback:如果数据尚未包含在入站表中(即尚未激活),则只能在请求级别将其删除。

Extraction:对于仅具有入站队列属性且启用了报告的数据存储对象,完全提取只进入入站表。对于属性为Compress Data的数据存储对象,同时访问入站表和包含活动数据的表。增量提取总是从入站表执行。对于属性为Compress Data的数据存储对象,必须首先将请求更新为所有活动的增量DTPs,然后才能对其进行压缩(激活)。

Reporting:属性为Inbound Queue only和Compress Data的数据存储对象只能在非常有限的范围内用于报告,因为Inbound表中的数据在逻辑上仅与对象相关,但查询不知道激活逻辑,因此无法聚合记录。因此,无法将此类型的数据存储对象添加到CompositeProvider。对于Reporting-Enabled属性的数据存储对象,报告仅在包含活动数据的表上进行,这意味着数据只有在激活后才可见。此类型的数据存储对象可以添加到CompositeProvider。


  • 数据集存储对象(Data Mart DataStore Object)

Data Mart DataStore Object对报告分析进行了优化,112。


  • 直接更新数据存储对象(Direct Update DataStore Object)

   可以使用API将数据直接写到活动数据表中(Active Data)。


(2)DSO和CUBE的区别:


  • DSO(DataStore Object):存储明细数据,且数据可支持合计、覆盖;DSO常用于存储数据,抽取性能优于CUBE。

  • CUBE(InfoCube  架构):存储汇总后的数据,且数据只支持合计;CUBE用于建立报表。

数据直接抽取到CUBE,传输会很慢,并且不能查看明细数据,DSO可以将业务数据分散,数据压力小。


(3)数据存储:

PSA可存储原始源数据,InfoCube可存储汇总数据,DataStore对象三种类型

 


(4)创建DateStore Object:

 

 


9.CompositeProvider复合提供者

在CompositeProvider中,可以在SAP HANA中使用union和join将BW InfoProviders(或其中的数据)与SAP HANA视图中的数据合并。如果从CompositeProvider生成SAP HANA视图,则可以获得对数据的SQL访问。对于使用union操作的CompositeProvider,支持通过DTP进行增量提取。

限制:只支持输入参数,不支持变量;对于有嵌套、有组织的CompositeProvider会有一些限制,不支持从BW InfoProviders生成的聚合级别SAP HANA视图,DataStore对象,Open ODS视图,InfoObject


10.处理链

处理链是能自动完成数据的处理和加载等操作的自动化工具。


11.query

位于BW架构的最顶层,用来支持最后的数据结果显示,或者生成BO中所有的universe,总之,query是BW的重点产物。


12.InfoProvider

BW中通过InfoProvider来和Query直接相连,为其提供数据。DSO、Cube、MultiCube都可以作为infoprovider。


 

 


推荐阅读
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • 电子与正电子的相互作用
    本文探讨了电子与正电子之间的基本物理特性及其在现代物理学中的应用,包括它们的产生、湮灭过程以及在粒子加速器和宇宙射线中的表现。 ... [详细]
  • 本文详细介绍了Java编程语言中的关键字及其用途,包括53个关键字和2个保留字。文章不仅解释了每个关键字的基本功能,还提供了实际应用场景中的使用示例。 ... [详细]
  • PHP 实现实时汇率查询接口
    本文介绍如何使用PHP构建一个实时汇率查询接口,解决网站因数据源限制而无法获取最新汇率的问题。文章将详细讲解从选择合适的数据源到实现接口的具体步骤。 ... [详细]
  • 本文探讨了在Qt框架下实现TCP多线程服务器端的方法,解决了一个常见的问题:服务器端仅能与最后一个连接的客户端通信。通过继承QThread类并利用socketDescriptor标识符,实现了多个客户端与服务器端的同时通信。 ... [详细]
  • [编程题] LeetCode上的Dynamic Programming(动态规划)类型的题目
    继上次把backTracking的题目做了一下之后:backTracking,我把LeetCode的动态规划的题目又做了一下,还有几道比较难的Medium的题和Hard的题没做出来,后面会继续 ... [详细]
  • mybatis相关面试题 ... [详细]
  • MySQL查询语句深入解析与应用实例
    本文详细介绍了MySQL查询语句的应用技巧,包括排除特定记录的高级查询方法以及UNION和UNION ALL的使用场景与性能对比。通过具体示例,帮助读者理解如何优化查询以提高数据库操作效率。 ... [详细]
  • Oracle中打开10046Trace的各种方法10046trace的跟踪等级10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracl ... [详细]
  • 本文详细介绍了Python的multiprocessing模块,该模块不仅支持本地并发操作,还支持远程操作。通过使用multiprocessing模块,开发者可以利用多核处理器的优势,提高程序的执行效率。 ... [详细]
  • 本文将指导你如何通过自定义配置,使 Windows Terminal 中的 PowerShell 7 更加高效且美观。我们将移除默认的广告和提示符,设置快捷键,并添加实用的别名和功能。 ... [详细]
  • Qt应用开发:创建基本窗口
    本文介绍如何使用Qt框架创建基础窗口的两种方法。第一种方法直接在main函数中创建并显示窗口;第二种方法通过定义一个继承自QWidget的类来实现更复杂的功能。 ... [详细]
  • 本文介绍了一种算法,用于在一个给定的二叉树中找到一个节点,该节点的子树包含最大数量的值小于该节点的节点。如果存在多个符合条件的节点,可以选择任意一个。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置单节点的Redis服务,包括下载、解压、编译安装以及启动服务的具体步骤。 ... [详细]
  • 本文详细介绍了在Mac操作系统中使用Python连接MySQL数据库的方法,包括常见的错误处理及解决方案。 ... [详细]
author-avatar
手机用户2602931437
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有