数据转换_数据转换服务是什么意思

数据转换_数据转换服务是什么意思对数据进行转换就是对数据的合并、清理和整合。通过转换,能够实现不同的源数据在语义上的一致性。SAPBI的转换(Transformation)定义的就是对数据进行处理的规则。当数据从一个BI对象

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

数据进行转换就是对数据的合并、清理和整合。通过转换,能够实现不同的源数据在语义上的一致性。SAP BI 的转换(Transformation) 定义的就是对数据进行处理的规则。当数据从一个BI 对象载入到还有一个BI 对象时,数据是经过转换的。在源对象和目标对象之间创建一个转换,转换将源对象的字段格式转变成目标对象的字段格式。从前面的章节能够看出转换在SAP BI 数据流中的地位和作用,当中信息提供者是信息对象、数据存储对象、信息立方体和信息集等对象的统称。

接着,我们来创建一个转换。首先右键相应的数据源,点击“创建转换”。弹出以下的窗体。在Object Type中能够选择要传输的目标对象,然后填写目标名称。源数据的信息是系统自己主动填充的。这时点击继续。

clip_image001

以下我们来定义转换规则。

clip_image003

一个转换能够包括多个转换例程与转换规则组。每一个转换规则组能够有多个转换规则。

通常系统依据数据源的情况来自己主动关联一些字段,可是我们还是须要做继续的改动才干达到我们的目标。上面的图示中左側的表格是代表数据源,右側的代表相应字段的转换规则,也就是说要想把数据从開始的数据源转换为最后我们想要的格式化后的数据,就须要在右側表格中进行规则化。

我们来具体阐述下怎么创建和编辑规则。当你把相应字段拖动完毕后,你能够双击此线,然后会弹出以下的窗体。请重点看规则类型中的规则。

clip_image005

(1) 常数。直接为目标字段指定一个常数值,而不是使用源字段。

(2) 直接分配。直接使用所选的源字段的值填充目标字段。这是最经常使用的一种赋值方式。

(3) 公式。选择公式后会弹出一个窗体,在里面能够进行对字段的加减乘除等等公式计算。

(4) 初始值/无转换

对于keyword段,即目标对象的键值,系统提供的选项是”初始值”系统自己主动为依据目标字段的类型赋予一个初始值。对于非keyword段,系统提供的选项是”无转换”系统不在目标对象中更新目标字段,这使得目标字段保存原来的值成为可能。

(5) 读主数据

这里的主数据指的是信息对象中含有属性的特性。源字段是特性的键值,通过源字段读取特性里的属性,用属性的值更新目标字段。因此,源字段必须包括特性的键值,而特性必须包括目标字段相应的信息对象作为属性。

(6) 例程

例程就是我们能够自定义的程序代码。我们能够自己编程定义转换例程,为目标字段赋值。假设更新的目标字段是具有单位的关键值,如收入或数量,我们还能够使用规则类型”具有单位的例程”。在例程的返回參数中,除了目标字段,还有单位字段。

(例程具体请參见SAP顾问靠手BW篇 — SAP中的例程)

转换例程应用:

在传输数据过程中须要补充物料前导零,则在信息对象例程中增加下面代码就可以。

*$*$ begin of routine – insert your code only below this line
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’
EXPORTING
INPUT = SOURCE_FIELDS-MATNR
IMPORTING
OUTPUT = RESULT.
*$*$ end of routine – insert your code only before this line

(7) 时间更新

因为时间字段的特殊性,系统提供了3 种不同的时间更新的方式。

1 )直接更新。系统直接将源字段的值赋予目标字段的值。这适用于源字段和目标字段

类型同样的情况,比方都是日历年。

2) 时间转换。系统会自己主动辨别源字段与目标字段的类型,可使用对应的时间转换函数。

比方从日历天到日历年的转换,系统会自己主动使用时间转换。

3) 时间分配。用于从大的时间单位向小的时间单位赋值。系统会自己主动将源对象的数据

字段,即关键值,按比例分给目标字段的数据字段。

注意:

上面我们讲到的转换通常在不同的信息体中是有稍微的区别,看以下图例,我们来介绍下。clip_image006

图中多了一个集合(Aggregation)的选择框。

1) 假设目标对象是信息立方体,可能的选项有: 合计、最大值和最小值。

2) 对于信息对象,即特性,仅仅有”覆盖”这一选项。对于主键同样的记录,后面的记录的

值会直接覆盖曾经的记录。

3) 对于数据存储对象,依据数据和数据源的不同,可能的选项有4 种。

①合计:当数据源支持加总的增量更新时才可用。对于数据类型字符、日期、时间、货币、单位等不能使用汇总选项。

②最大值。

③最小值。

④覆盖:当数据源支持增量更新时才可用。

对于数值型的字段,系统使用特性ORECORDMODE 来表明更新的类型。假设数据源仅仅提供残留图像,系统会建议使用”覆盖”选项。当然,我们也能够依据应用情景改变这一设置。比方我们想统计记录变化的次数,能够设置一个计数器字段,在更新规则中,将它的值设置为常数”1 ,并将更新类型设置为”合计”。

特性ORECORDMODE 用于标志从SAP 源系统的增量更新记录。假设不是将增量请求更新到数据存储对象,或者仅仅是以文本文件作为数据源,能够不必使用特性

ORECORDMODE 。

规则组

学习完转换类型后,我们再看学习下什么叫规则组,这也是转换中一个非常重要的东西。

顾名思义,规则组是转换规则的组合。一个转换能够包括多个规则组。每个转换至少包括一个规则组,称为标准组。其它的规则组都以标准组为參照。就是说,假设标准组发生

了变化,其它规则组能够选择自己主动进行与标准组相同的变化。当对标准组进行改动时,系统会弹出对话框询问是否将变化应用到全部规则组或者仅仅是改变标准组。

从转换规则,特别是集合类型的介绍中我们能够看出,全部的关键值〈数值字段〉的更新都是与特定的特性(keyword段)相关的。关键值也仅仅有与系统的特性相联系,才具有详细的业务含义。可是,对于有些关键值而言,须要同一时候更新不同的特性的组合。这时候,就须要多个规则组来实现关键值对不同特性组合的更新。

我们能够依据上面的一张图来找到Rule Group。点击后能够看到新建规则组,然后我们输入规则组名称,这样就能够新建一个规则组了。然后我们对规则进行编辑以达到我们的需求。

使用多个规则组的一个样例

某公司在计算销售人员的奖金时是以销售额作为计算基数的。对于一线的销售人员,他们取得的销售额就是计算基数。对于经理人员,他们手下的销售人员的销售额的10% 计入经理人员的奖金计算基数。

在系统实现时,源对象存储了销售的原始数据,目标对象存储奖金计算基数。这时,我们能够使用两个规则组实现,如图下所看到的。

clip_image008

看下图,绿色的图标就是创建的转换。

clip_image009

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167453.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • window本地搭建git服务器_github搭建服务器

    window本地搭建git服务器_github搭建服务器服务器(Windows系统)自建git服务器超详细教程需要依赖(工具)轻量服务器(云服务器)一台——环境WindowsServer2019git工具包(https://git-scm.com/)gitea软件包(https://github.com/go-gitea/gitea/releases)下载安装git点击下载即可。(下载链接:https://git-scm.com/)下载如下:点击运行安装:注意:除了最后一步,其他全部【next】下一步即可。(安装路径直接装在服

  • QUOTEName用法[通俗易懂]

    QUOTEName用法[通俗易懂]  1.可以用在拼接字符串时候将参数名称替换为参数值到SQL里面,如下面代码:DECLARE@TableNameVARCHAR(50),@SqlNVARCHAR(MAX),@DJIDINT;SET@TableName=’DJ’;SET@DJID=1991906354;SET@sql=’SELECT*FROM’+QUOTENAME(…

  • windows server2016搭建ftp服务器_搭建网站的服务器

    windows server2016搭建ftp服务器_搭建网站的服务器WindowsServer2016系统中,快速搭建FTP服务器,作为文件服务器,下面分三步说明:安装IIS和FTP服务 配置FTP服务 测试FTP一、安装IIS和FTP服务首先点击开始菜单,进入找到服务器管理器,点击打开。进入后,找到管理菜单,点击添加角色和功能。进入服务器系统打开“服务器管理器”,点击“添加角色和功能”进入角色添加向导,一直点击下一步按钮到服务…

  • Java设计模式(四)之创建型模式:建造者模式

    Java设计模式(四)之创建型模式:建造者模式

  • 【模式识别】多层感知器 MLP[通俗易懂]

    【模式识别】多层感知器 MLP[通俗易懂]由前面介绍看到,单个感知器能够完成线性可分数据的分类问题,是一种最简单的可以“学习”的机器。但他无法解决非线性问题。比如下图中的XOR问题:即(1,1)(-1,-1)属于同一类,而(1,-1)(-1,1)属于第二类的问题,不能由单个感知器正确分类。即在Minsky和Papert的专著《感知器》所分析的:感知器只能解决所谓一阶谓词逻辑问题:与(AND),或(OR)等,而不能解决异或(XOR)…

  • 7. MyBatisCodeHelperPro 插件[通俗易懂]

    7. MyBatisCodeHelperPro 插件[通俗易懂]MyBatisCodeHelperPro插件       之前介绍了MyBatis的逆向工程生成实体类、自定义接口以及Mapper.xml的操作过程,很显然这样的配置工作非常繁琐且复杂,本文在介绍MyBatis动态SQL之前,先分享一款实用的MyBatisGenerator插件(MyBatisCodeHelperPro),使用这个插件可以简化开发过程,提高开发者的编码效率。第一步:File→Settings

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号