除数据;如果选择了with zero ,把数据里真的是0的数据压缩没了;压缩可以设置到处理链中(compression of the cube);
60、 怎么设计出一个好的立方体维度出来,举例说明? 答复:创建维度就是多角度多层次全方位的去分析数据。
1 如果维度表列和事实表中的连接太多时,可以采用行项目维。也就是去掉维度表,把sid表直接放在事实表中。通常有销售订单,发票号。
2 如果维度数据是事实数据20%,可以采用基数高度,对生成cube自动优化,采取合适索引。
维度设计原则:
1倾向于更多的列和更少的行;尽可能有意义
2 设计一个占空间尽可能小的主键;带来更小索引,主要是提高效率 3 不建议特别的规范化,也可以有冗余。规范化后可能使结构更加复杂 4维度表中属性尽可能是文本或离散的。通常是查询的条件
合理的维度数量,不宜太多,影响性能,用户使用起来也没有太大意义;维度的组合和顺序也要合理;把相近的有关系的维度放在一个维表中。
比如可以从Outline的组合顺序、Sparse/Dense的设置、计算脚本的运用、Partition优化、DataLoad File优化等等,其中outline的组织顺序有一定的规则,类似沙漏型。总言之,可以通过这些方法找到一种平衡。
但我想说的是:这么多的维度合不合适?实际上是上面问题的出发点。作为主题,是相对比较独立且很明确的数据,不是大而全。换句话说,每一个主题的背后隐含着1..n个故事场景。在实际中,如果提供很多维度,不但我们组织起来不很容易,而且用户使用起来也会晕倒:因为这么多维度,无所适从;况且,有些组合是没有意义的或者是错误的,多于三维的数据对用户来讲也是很难理解的。鉴于此,我想能不能在深刻理解业务的基础上,将主题重新划分,并不严格的遵从用户提出的那种模式。这是其一;
其二,举例说明。拿移动的用户来讲,他们起初并不清楚OLAP是什么,主题是怎么回事,只是想从这些方面看数据,所以我们就遵从了。这就是根源。个人觉得:应该有一个分析、归纳、提炼、引导的过程,我想这样才会真正的做出比较有价值的主题分析。
根据上述两点:希望重新组织主题,将维度控制在最低限度。 61、 Multiprovider 和 infoset的区别,举例说明。
答复:Multi Provider与InfoSet和virtual Provider一样都是逻辑结构,都没有数据的实际物理存储。MultiProvider与InfoSet本身不存储任何数据但它们能够把多个如下InfoProvider对象上的数据结合起来:
l . InfoCubes
l . DataStore objects l . InfoObjects l . InfoSets
l . Aggregation levels (slices of a InfoCube to support BI Integrated Planning)
MultiProvider与InfoSet的主要区别在于它们结合InfoProvider对象的方式不同。连接方式不一样:multiprovider的连接方式是:union,infoset:inner join,left out join
62、 如何分析事实表和维度的大小? 答复:
63、 BW汇率是如何转换的?举例说明。
一个货币转换类型是汇率,源货币,目标货币和转换时间设置的组合。就是说,在一个货币转换类型中,会设置汇率,源货币,目标货币和转换时间设置。然后将此currency translation type定义于query中的key figure。于是在执行query时便会应用到这个currency translation type。也就是货币转换。 Tcode:RSCUR create currency translation type
在Report中使用汇率转换,这个功能可能大家都很熟悉。但是随着我们的专案增加很多以及程度的提高,一些个性化的需求就出现了。比如这段时间就碰到几个对汇率有特殊要求的问题,通过对Query以及汇率变量的相关了解也找到了相关的解决方案。
我先将问题描述一下.
问题1:DWHD要做一个Actual Forecast的对照表,Actual的数据采用当前的标准汇率,但是Forecast的数据采用用户自己提供的汇率,因为这个提供的汇率是针对未来几期的,所以和实际的汇率可能不一致或者无法去要求一致,所以希望我们的报表需要能够满足这样一种功能要求。
问题2:MM段要在某个报表中增加上个月的金额和本月数据作对比,并且汇率要按照实际月份进行转换。
在解决问题之前,有几个知识点我们是需要清楚的。
1. Currency Conversion Type:币种转换类型,也就是转换币种的规则。币种转换会涉及到几个关键问题:A. 汇率 B. 源币种 C. 目标币种 D. 汇率时间
2. Currency Conversion Key: 即币种转换类型的编码
3. Target Currency Variable:如果在1中设置C目标币种为“Sel. Of targ. Currency with Translation”时,可以在Report中设置目标币种变量,允许用户改变目标币种
在分析上述两个问题之后,我们大致可以把问题1归结为:如何实现多币种转换;而问题2可以归结为:如何实现多时间段转换。
作了以上分析,我们先逐一看看。
首先在Query中,每个Key Figure只要是金额栏位都可以进行汇率转换,如果不是金额栏位通过“Calculated Key Figure”(CKF)或“Restricted Key Figure”(RKF)也可以实现汇率转换。所以通过CKF或RKF可以实现一个Key Figure多种汇率转换。比如将Amount和“Actual” 设定为RKF“Actual Data”,而将Amount和“Forecast”设定为RKF“Forecast Data”,那么就可以分别设定两个汇率转换类型了,其实这个知识点就可以解决问题1了。另外用户有特别说明,Forecast有自己的一套汇率,那么我们就必须把这种情况考虑进去。当然方法也很简单,我们在设置Exchange Rate Type时就有必要自定义一些Type来区别标准的“M“类型。
而问题2着力点可能是如果将汇率转换时间切换到上一个月(或者非当
前月)。我们来看看在1中设置D汇率转换时间有那些内容在里面。
1. Fixed Time Ref. (固定时间)
i. Current Date (系统当前时间) ii. Key Date (设定一个定值)
iii. Time Based From Variable(设定时间变量,这个变量必须是挂在Calendar下面)
2. Variable Time Ref. (变动时间)
i. Standard InfoObject (当前报表中标准的时间Object)
ii. Special InfoObject (处理不是精确到日的时间Object,比如0Fiscper)
如果是ii的情况,会要求设定具体的时间点 3. Query Key Date
通过上述的属性的列举,我们可以找到两种解决方案
1. 采用1-iii 设置一个时间变量,这样可以灵活的获取时间
2. 采用3,因为这个Report其实不要用到Key Date,所以可以利用Key Date 来传递时间
最终权衡之后,我们选择了方案1,因为来得更为合理而专业。同时只需要将设置的时间变量类型设为“Customer Exit”,就可以通过代码来设定时间。
64、 BW里的分析权限是如何做的?举例说明。
答复:权限:报表权限:报表的权限在bo、port中控制; data权限:(1)定位对那个字段做权限控制、(2)特性-业务浏览(相关的权限勾选上)、(3)query desinger变量的出理由选择权限,(4)rsa1-管理-分析权限-在分析权限中进行管理;
65、 Info Object是BW中最小的存储单位.
66、 BW中的数据对象有Info Object,Cube,DSO,Info set,Multi-provider,visual
provider. 其中IO,Cube,DSO是实际的物理存储对象,Info set和 Multi-provider可以理解成为建立在其他物理存储对象上的视图,是不存储数据滴~~
67、 接上一点,那为什么要用到Info set和Multi-Provider呢?那要从BEx报表
的展现机制来说了.在BEx报表设计中,你只能选取一个Info provider作为数据池来构建你的报表,如果你所需要的数据放在多个Cube或者DSO里面的话,那么你就需要一个工具把这些info provider集合在一起变成一个info provider,这个工具就是info set 或者是 Multi-provider
68、 还是接着上一点,说得这里别人面你的时候就肯定顺水推舟的问你Info
set 和Multi-provider的区别是什么(俺被面到了~~汗~~),教科书的答案是两者中各info provider的连接方式不一样,info set貌似是内连接~~~~还是不好理解...俺想了一个晚上,得到一个想法...info set 连接方式取的是数据的交集,而Multi-provider取的是数据的并集,关于交集和并集是什么,你们去问你们的数学老师~~
69、 如果没有做过实际的Multi-provider的模型的,如果被问到,其实可以拿个
业务来举例,最典型的就是销售计划与实际对比,计划数据放在一个info provider,实际数据放在一个provider,用一个Multi-provider把他们组合起来,其中可以按销售部门key连接,销售员key连接,Item key来连接.
70、 DSO key figure的转换分为覆盖与合计2种,点detail,双击key figure可以
选择
71、 那么一定要记下DSO与Cube的区别(基本上都会被问到)...Cube的key
figure是累加的...而DSO是可以覆盖或者累加的~~
72、 在构建DSO的时候,如果数据表中有日期类型的字段存在的话,那么你就
最好把会计年度变量(0fiscvarnt)的特征放在Key file里面...如果你没有放的话,系统会给你黄色的警告...当然你可以忽略...但是如果忽略了,后果就是在DSO激活数据的时候你会发现激活有错误~~~
73、 Cube,最大维度16个,去掉系统预先定义的Time,Unit,Request,可以用的有
13个.最大key figur数--233,最大Characteristic--248*,DSO : You can create a maximum of 16 key fields (if you have more key fields, you can combine fields using a routine for a key field (concatenate).) - You can create a maximum of 749 fields - You can use 1962 bytes (minus 44 bytes for the change log) - You cannot include key figures as key fields - 摘自SAP官网~~
74、 PSA~~persistence store area....持久数据加载区域,从数据源出来的数据第
一站都会停留在这里.它是以包为单位进行传输的
75、 .系统中的状态提示: D SAP传输(Delivery)状态 A 激活(Active)状态 M修
改(Modified)状态
76、 DSO 三个表 N表数据抽取后存放在N表 激活后会清空(这点要记得哦)
A表 激活数据表 BEx拿数据是从这张表拿的 Log表存放数据的更改动作; 77、 有关Cube的优化,可以聚集,分区,压缩. ? 78、 流程链的T-code是RSPC
79、 15.每一个流程链必须有一个开始流程.没有变式的开始流程没有任何的
价值.
80、 流程链的类别包括加载流程与后续处理,数据目标管理,自动报告代理,常
规服务,其他BI流程和自定义流程.
81、 收集器流程....管理输入到相同的后继流程的多个流程...相当于交通警察
的作用.可以判断替代流程是否满足条件而触发后继流程. 82、 流程链必须激活.
83、 流程链中的颜色,红,黄,绿.....应该都明白各自的含义. 84、 与进程,或进程,或异进程都属于收集器流程
85、 DSO分为标准DSO,写优化DSO,直接更新的DSO.
86、 标准DSO中有一个选项叫做\生成主数据标识\这是啥玩意呢?他的用法
取决于你的DSO是要拿来干什么的.如果你的DSO是拿来做报表的,那么勾上他是可以提高报表的查询速度.如果你的DSO是拿来存储数据的,那么建议不要勾上,因为系统会自动分配SID给你........貌似是设计用来做报表查询的index吗?
87、 实际的项目大多数喜欢用3层的数据模型,底层是写优化的DSO,记录
delta和保证数据与PSA的一致,第二层用标准DSO,第三层用Cube...用level 1的DSO更新level 2的DSO的时候,一般都用SUM的方式.
88、 BW做初始化的时候要注意什么呢?业务系统要全面停止,禁止输入任何
数据.这个好理解吧,今天来说说标准数据源的Delta机制
89、 所有的Delta数据,在传到BW之前,都会先到Delta Q里面,再从DeltaQ到
BW.Delta Q可以用RSA7查看.
90、 Delta数据从原始表到Delta Q, 有两种方式:对于LO的数据源,是系统将
Delta数据push到Delta Q的,然后在InfoPackage执行的时候,再把数据从Delta Q搬到BW.这就是PUSH的方式. 对于非LO的数据源,大部分采用time stamp的方式,在InfoPackage执行的时候,系统根据time stamp去源数据表获得delta数据,这些数据被送往Delta Q之后,紧接着就被搬到BW了.这就是所谓的PULL的方式.; 91、 所以总结一下:
PULL:当BW端请求数据时,R3端才做出回应,执行相关Function Module,把数据写入delta queue
PUSH:数据自动写入delta queue,当BW端请求数据时,直接去delta queue中抽取
92、 RSA7是查看Delta Q的,但是真实数据不是存在这里的.SMQ1(Out bound
Queue)才是存储数据的地方~
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库SAP BW面试问题大全(含答案) - 图文(3)在线全文阅读。
相关推荐: