1.信息对象的重要性
信息对象(Infoobject)是BW中最小的可用信息元素或字段,它们可以通过技术名称唯一识别。
在BW系统中的业务评估对象被看作是信息对象。它们可分为特性(如公司代码、客户、物料和供应商等)、关键值(如数量、价格和金额等)、单位(如货币或数量单位)、时间特性(如会计年度和日历年月等)和技术特性(如请求编号、数据包号和数据记录号等)。
信息对象在整个系统中处于最基础的位置,用于创建存储数据的结构和表,这使得信息能够以结构化的形式存储。此外,信息对象还用于定义报表。图2-15所示的是信息对象在BW系统中能够被使用到的对象概览。
图2-15 信息对象在BW系统中的使用点
2.信息对象的分类
如前面所述,信息对象主要分为两大类型,即特性和关键指标。关键指标就是我们认为的交易指标,通俗一些来说就是数量和金额等指标。特性是用来衡量关键指标的分析维度,如当我们说销售额100万的时候,信息并不明朗,但是如果说1000公司2014年1月的销售额为100万的时候,信息就会更加明确化,此信息中的特性公司代码(值为1000)、日历年度(值为2014)、月度(值为1)都是特性。
特性按照不同的用途又进一步分为一般特性、时间特性、技术特性和单位特性。以下是信息对象类型的完整清单:
(1)关键指标
(2)特性
①一般特性
②时间特性
③技术特性
④单位特性
关键指标提供了需要被分析的值,以下是关键指标的两个例子:
①数量(0QUANTITY)
②金额(0AMOUNT)
一般特性是用来分析关键值的业务参考对象,是BW系统中使用最多的特性。以下是一般特性的两个例子:
①成本中心(0COSTCENTER)
②物料(0MATERIAL)
时间特性构成了数据分析和评估的时间参考对象,是与BW系统一起交付的,最初的BW系统就有这些对象,即使没有安装业务目录的BW系统也有。以下是时间特性的两个例子:
①日历日(0CALDAY)——具有最高粒度的时间特性
②日历年(0CALYEAR)或会计年度(0FISCYEAR)——具有最低粒度的时间特性
单位特性可以与关键值一起指定。它们使关键指标的具体数值在评估过程中与其对应的单位一同出现。以下是单位特性的两个例子:
①货币单位(0CURRENCY)——包括交易货币(美元和欧元等)
②价值单位(0UNIT)——包括计量单位(加仑、英寸、厘米、件)
技术特性是在BW中对数据进行组织的对象。以下是技术特性的两个例子:
①请求标识(0REQUID)——系统在加载请求时分配的编号
②更改标识(0DATAPAKID)——加载请求时顺序编码的数据包
3.信息对象的特性
特性用来分析关键指标,如有关键值销售额100万,但是如果没有特性对这个100万的数字进行分析,那就不知道这个100万的销售额到底是什么意思。当不断增加特性,如“客户C001销售额100万”、更进一步“2011年客户C001销售额100万”、更进一步“2011年客户C001物料组M001销售额100万”,这样一来销售额100万这个关键指标就会不断地、更加清晰地出现在我们面前。所以可以说特性用于分析关键值。
我们可以在“数据仓库工作台”导航窗口的“建模”功能区域选择“信息对象”选项进行集中维护,也可以使用事物码RSD1来维护单个的信息对象。信息对象的维护是通过维护界面中的标签页来定义特性信息对象并更改这些设置的(部分属性在设定之后即无法更改,除非删除了所有使用该对象的相关交易数据,所以在设定的过程中需要根据实际业务谨慎操作)。在定义特性之前,首先需要准确了解这些标签页的具体定义内容。
维护界面包含下列标签页:
①常规(有些版本也称为“一般的”)
②业务浏览器
③主数据/文本
④属性(依赖于主数据/文本中的定义)
⑤层次结构
⑥组合
在决定维护标签之前,必须详细说明具有主数据的特性的概念。如果一个特性指定属性、文本或层次结构表与之相链接,来提供有关该特性的其他信息,那么该特性就称为具有主数据的特性。这时就应该由相关业务流程和特性来决定是否应该启用和生成后台主数据表。许多情况下,它们提供满足报表所需的重要信息,如公司代码的所在国家、缺省货币、所使用的会计年度变式等。
通过在信息对象维护的标签页中选择相应的文本、主数据或层次结构页签,可以启用具有主数据的特性。如果选中了这些选项中的任意一个,那么该特性就会被看作是具有主数据的特性。
1.一般的
“一般的”标签页用于确定特性的基本属性(见图2-16),如描述、数据类型、数据长度(注意,最多60个字符,所以超过60个字符的文本处理需要借助ABAP平台其他方面的技术)以及转换例程(INPUT和OUTUT函数,如ALPHA的函数就是CONVERSION_EXIT_ALPHA_INPUT/OUTPUT)。此外,勾选“小写字母”复选框后,系统认为大小写是有区别的,即“ABC”和“abc”是有区别的,否则系统在存储数据时,都会以大写字母进行存储。值得说明的是,在需要存储汉字时(代码为汉字,而不是描述为汉字),需要勾选“小写字母”复选框。“仅属性”复选框决定了该特性是否可以用来单独评估关键指标;“特性是文档属性”复选框决定了是否需要针对该特性进行文档的管理,包括上载和删除等,以便在BW系统的其他地方使用,如在查询中;“常数”文本框决定了在整个BW系统中该对象的值,如果填写了这一属性,那么在后续的所有建模中,必须给该对象赋予指定的常数值,否则就会出现报表无数据等情况,所以一般不建议填写该属性。
图2-16 信息对象的“一般的”标签页
2.业务浏览器
“业务浏览器”标签页用于设置与查询相关的属性(见图2-17)。其中,“显示”决定了特性的显示方式(不显示、代码、文本、代码和文本、文本和代码);“文本类型”决定了特性显示文本时的默认文本(短文本、中文本、长文本);“业务浏览器描述”决定了该特性显示在浏览器中的文本类型(短文本、长文本);“选择”决定了查询的集合方式,如果选择了“每一单元格的唯一性”选项,那么在定义查询时就不能同时限制多个值,系统也就不能基于该对象进行行、列或单元格的多个对象汇总;“查询定义的过滤器值的选择”决定了在定义查询时,对该特性进行限制时出现的列表值(仅信息提供者中的值、主数据表中的值);“查询执行时的过滤器值的选择”决定了在执行查询时,对该特性进行限制时出现的列表值(仅过账导航的值、仅信息提供者中的值、主数据表中的值);“查询执行中的过滤器值显示”决定了在执行查询时过滤器中该特性的显示方式(不含值的选择器框、含值的选择器框、仅输入字段、含输入帮助的输入字段、单选按钮、下拉框、仅输入帮助、复选框)。如果在属性中输入了单位或货币的属性,则可以在“基本计量单位”和“货币属性”中选择需要的单位和货币。
此外,在“BEx Map”上方有一个“相关的权限”复选框。从BW 7.0开始,所有的报表权限和数据读取权限都通过“分析权限”来处理,如果需要在系统中校验用户对于数据的访问,则必须勾选此复选框;同样地,如果勾选了此复选框,则必须要对用户赋予对应的分析权限,否则用户不仅不能查看包含该特性的信息提供者所产生的报表,甚至在对信息块或DSO进行数据上载和查看时,系统都会报错,而开发人员往往对该错误不知道应如何处理。
图2-17 信息对象的“业务浏览器”标签页
界面最下端的“Bex Map”则可同Arc GIS配合使用,在地图上显示相关分析数据。
3.主数据/文本
在“主数据/文本”标签页(见图2-18)中,可以确定特性是否包含附加属性或描述文本。
如果需要使得该信息对象拥有其自己的属性,那么需要勾选“有主数据”复选框,具体的属性对象将在“属性”标签页中维护。维护了信息对象的属性列表和属性的特点(是否时间相关,即随着时间的改变而发生改变;是否用于导航分析特性所在信息提供者的关键指标)后,系统会根据前台输入对象生成存储主数据的相关透明表。其中,“P”表,即透明表/BIC/PDEMOCHAR,包含了所有与时间无关的属性;“Q”表,即透明表/BIC/QDEMO-CHAR,包含了所有与时间相关的属性;“X”表,即透明表/BIC/XDEMOCHAR包含了所有与时间无关的导航属性;“Y”表,即透明表/BIC/YDEMOCHAR,包含了所有与时间相关的导航属性。更加详细的表结构将在“属性”标签页中介绍。
如果需要使得该特性拥有其自己的文本,那么需要勾选“带文本”复选框,并且选择至少一个文本选项(短文本、中等文本或长文本,即20、40或60个字符)。选择了具有描述文本后,在激活信息对象时,系统会生产一个“T”表,对DEMOCHAR,即生成/BIC/TDEMOCHAR透明表,其表结构将由前台的选择决定。除了文本的类型,还有“文本语言相关”和“文本与时间相关”两个复选框。在多语言环境下,如中文和英文,需要勾选“文本语言相关”复选框。文本描述随着时间的变化而变化,如物料的名称,则需要勾选“文本与时间相关”复选框。
图2-18 信息对象的“主数据/文本”标签页1
在复杂的公司结构环境下,可能需要对主数据的维护进行权限的区分,如“工厂”信息对象有以P*开头的值和以C*开头的值,如果需要不同的人维护不同的主数据,则需要勾选“主数据维护与权限相关”复选框,同时在权限角色中使用权限对象“S_RS_IOMAD”进行限制,并且在字段“RSIOBJNM”中维护对应的主数据技术名称。
在“主数据/文本”标签页中还可以直接指定以下属性(见图2-19):
图2-19 信息对象的“主数据/文本”标签页2
1)应用程序组件。当信息对象被创建了“直接更新的信息源”时,此时在白色框体内能够修改与信息源对应的应用程序组件。
2)信息范围。当包含主数据的信息对象被执行了“插入特征作为信息提供者”时,可以在此信息范围看到对应的信息范围,此时也可以在此修改对应的信息范围,而不用在数据仓库工作台中进行拖放操作。(www.daowen.com)
3)特性用于导出数据源。当需要将本信息对象中包含的属性和文本导出到目标BW系统或其他数据仓库系统时,请勾选此复选框。
4)主数据访问。主数据访问选项决定了用户在执行BW Query时对于主数据的读取方式,它有3个选项,即“缺省”、“自己执行”和“远程”。当选择“缺省”选项时,系统显示特征的主数据表中的值;当选择“自己执行”选项时,可以通过指定ABAP类来自己执行对主数据的访问,需要说明的是,此ABAP类必须从类CL_RSMD_RS_BW_SPEC中继承;当将特征标记为使用“远程”的信息提供者或信息源时,则可在源系统中远程访问对应的主数据,使用此选项的前提条件是对应主数据信息源必须连接到所需的源系统的数据源,由于系统间传输数据需要消耗时间和资源,因此这一选项一般来说并不推荐使用。
4.属性
按照顺序,本处应该介绍“层次结构”标签页,但是因为上面介绍了“主数据/文本”标签页,而主数据的透明表生成是由“属性”标签页中的设定决定的,因此将“属性”标签页提到前面进行讲解。同时需要说明的是,如果需要看到“属性”标签页,则首先必须在“主数据/文本”标签页中勾选“有主数据”复选框。
属性用于更加详细地描述特性的信息对象,属性可以是别的特性或关键值。例如,可以用有关对象的公司代码、对象创建人或对象的货币和单位信息来更加详细地描述一个对象,本处便以这样的属性为例,如图2-20所示。
图2-20 信息对象的“属性”标签页
如果把属性定义为显示属性,那么在与特性组合时,仅可以把这些属性用作报表中的附加信息。换句话说,也就是在报表中,不可以使用这些属性在选择出来的数据集中进行导航。
如果把属性定义为导航属性,那么可以使用它们在查询中进行导航。在执行查询时,对于信息提供者来说,系统不区分导航属性和特性。换句话说,导航属性就如同存在于信息提供者维度中的特性一样,也可以具备查询中的所有导航功能,只是速度相对慢一些,原因将在后续章节中讲到。
根据实际的业务需要,如果相关属性要求具备有效时期,则可以把显示属性和导航属性设置为与时间相关。这一功能的作用非常大,使用它可以按照主数据在任意时间点存在的方式来执行报表。例如,可以通过查询找到2006年华东Ipad销售额的客户明细报表,即使现在某些客户已经不在华东居住!
在本例中,将0UNIT定义为“时间无关的显示属性”、将0CURRENCY定义为“事件相关的显示属性”、将G0GSDM定义为“时间无关的导航属性”、将0TCTSYSID和0TCTUSERNM定义为时间相关的导航属性,此时分别查看特性DEMOCHAR生成的各张透明表。
在“P”表中,将看到G0GSDM和0UNIT,说明“P”表存储的是所有与时间无关的属性,如图2-21所示。
图2-21 信息对象的“P”表
在“Q”表中,将看到0TCTSYSID、0TCTUSERNM和0CURRENCY,说明“Q”表存储的是所有与时间相关的属性,如图2-22所示。
图2-22 信息对象的“Q”表
在“X”表中,将看到G0GSDM的索引,即S_G0GSDM,说明“X”表存储的是所有与时间无关的导航属性,如图2-23所示。
图2-23 信息对象的“X”表
在“Y”表中,将看到0TCTSYSID和0TCTUSERNM的索引,即S_0TCTSYSID和S_0TCTUSERNM,说明“Y”表存储的是所有与时间相关的导航属性,如图2-24所示。
图2-24 信息对象的“Y”表
而在主数据表的“M”视图中可以看到,“P”表和“Q”表中的所有属性都被包含在内,无论是否与时间相关,如图2-25所示。
图2-25 信息对象的“M”视图
通过上述详细分析,可以得到信息对象的数据结构地图,如图2-26所示。
图2-26 信息对象的数据结构地图
5.层次结构
在查询分析过程中使用层次结构来展现数据的备选视图,信息对象的“层次结构”标签页如图2-27所示。与其他SAP产品(如ECC)一样,层次结构发挥着分组功能的作用。层次结构包含若干节点和叶节点,从而构成了一种父项与子项的关系。节点代表实际要求的任何分组,如“西部地区”。叶节点以特性值来表示,如“一名销售员”。在“层次结构”标签页中,可以确定特性是否可以拥有层次结构,如果选择可以,则还需确定这些层次结构具备怎样的属性。如果勾选并设置了“带有层次结构”复选框,则可以为这一特性手动创建层次结构(事务码RSH1),或从SAP ERP等源系统中提取层次结构到BW系统中。
图2-27 信息对象的“层次结构”标签页
特性层次结构可以存在许多不同的版本,也可以根据实际需要,选择层次结构是否随着时间维度发生变化。
(1)版本相关的层次结构
特性层次结构可以在不同的层次结构版本中使用,可以在BW中对源系统中存在的不同层次结构版本进行建模,同时也可以为来自源系统的同一个层次结构创建不同的版本。随后可以在查询中对这些版本进行比较。
示例:为“区域”特性构建多个销售区域层次结构,创建若干层次结构版本,如图2-28所示,在查询中对它们进行比较。
图2-28 版本相关的层次结构
(2)整个层次结构是时间相关
在特性的“层次结构”标签页中,可以定义整个层次结构与时间相关。换句话说,这一层次结构存在不同的版本,它们仅对特定的时间间隔有效。在查询中,系统自动根据关键日期设置并选择有效的版本。
示例:为“区域”特性构建销售区域层次结构,把层次结构设置为“整个层次结构是时间相关”。这样,在查询中就可以在不同的时间点对同样的数据进行比较(使用关键日期字段),如图2-29所示。
图2-29 整个层次结构是时间相关
(3)层次结构时间相关
在特性的“层次结构”标签页中,可以定义层次结构是与时间相关的。随后在查询中系统会自动根据当前关键日期或查询中指定的关键日期,选定层次结构并进行展示。
示例:在重新构建销售区域的组织机构时发现,在不同时间把一名员工分配到了不同的成本中心,如图2-30所示。
(4)层次结构中允许间隔
在特性的“层次结构”标签页中,可以定义层次结构为“层次结构中允许间隔”。例如,无需在成本中心层次结构为每个类别单独定位每个成本中心的值,取而代之,可以把成本中心的值指定为位于1000~1999之间(创建的间隔也可以是当前不存在主数据的特性值)。通过设定允许间隔,可以把业务人员从必须重新扩展维护层次结构中解放出来(因为系统会自动分配新的特性值)。
图2-30 层次结构时间相关
以上详细说明了层次结构的使用方法和特点,但是如果需要使用特性层次结构,则必须同时满足以下前提:
1)对于参考其他特性的特性(即参考特性),不可以为其创建层次结构。
2)一个特性可以具有多个层次结构。
3)如果特性将具有层次结构,则组合的(特性值的)最大长度限制在32(而不是60)个字符以内。
4)层次结构节点+、/、-符号的变换可以用来影响查询中节点的显示行为,对于每个层次结构节点,可以指定在此节点上过账的交易数据,+、/、-符号是否要在查询显示中变换。
5)层次结构最多可以有98个层级。
6.组合
在“组合”标签页中,可以确定该特性是否要与其他特性组合以唯一确定一个业务对象值。大多数情况下,我们并不需要这样做,但是在需要组合时忘记组合就意味着BW系统将获取垃圾数据!
例如,成本中心1001表示成本控制范围1000的销售成本中心,而同时它还表示成本控制范围2000的销售成本中心。在这种情况下,需要定义成本中心与成本控制范围特性的组合。另一个例子是库存位置,在SAP物料管理中,只借助于物料的库存位置是无法找到对应物料的,还需要通过与工厂组合来进行唯一确定,如图2-31所示。
图2-31 组合特性示例
此外,还可以使用组合来定义对象间的相关性,这样就简化了报表中的导航。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。