1.Info Object是BW中最小的存储单位.
6 u1 b9 z/ r4 Z. V
2.BW中的数据对象有Info Object,Cube,DSO,Info set,Multi-provider,visual provider. 其中IO,Cube,DSO是实际的物理存储对象,Info set和 Multi-provider可以理解成为建立在其他物理存储对象上的视图,是不存储数据滴~~
3.接上一点,那为什么要用到Info set和Multi-Provider呢?那要从BEx报表的展现机制来说了.在BEx报表设计中,你只能选取一个Info provider作为数据池来构建你的报表,如果你所需要的数据放在多个Cube或者DSO里面的话,那么你就需要一个工具把这些info provider集合在一起变成一个info provider,这个工具就是info set 或者是 Multi-provider
" X4 `" O$ K+ ]5 Q4 N" x- z; A4 e
4.还是接着上一点,说得这里别人面你的时候就肯定顺水推舟的问你Info set 和Multi-provider的区别是什么(俺被面到了~~汗~~),教科书的答案是两者中各info provider的连接方式不一样,info set貌似是内连接~~~~还是不好理解...俺想了一个晚上,得到一个想法...info set 连接方式取的是数据的交集,而Multi-provider取的是数据的并集,关于交集和并集是什么,你们去问你们的数学老师~~: S- ]* x/ r3 D4 s
5.如果没有做过实际的Multi-provider的模型的,如果被问到,其实可以拿个业务来举例,最典型的就是销售计划与实际对比,计划数据放在一个info provider,实际数据放在一个provider,用一个Multi-provider把他们组合起来,其中可以按销售部门key连接,销售员key连接,Item key来连接.6 h$ x* N( n# f- `! M
6.DSO key figure的转换分为覆盖与合计2种,点detail,双击key figure可以选择/ l6 `* y4 k* J/ \( z
7.那么一定要记下DSO与Cube的区别(基本上都会被问到)...Cube的key figure是累加的...而DSO是可以覆盖或者累加的~~
) L0 k/ n6 \) e- |# D" Z$ z
8.在构建DSO的时候,如果数据表中有日期类型的字段存在的话,那么你就最好把会计年度变量(0fiscvarnt)的特征放在Key file里面...如果你没有放的话,系统会给你×××的警告...当然你可以忽略...但是如果忽略了,后果就是在DSO激活数据的时候你会发现激活有错误~~~! @0 H2 r9 ]: X y% q% M: f r
9.Cube,最大维度16个,去掉系统预先定义的Time,Unit,Request,可以用的有13个.最大key figur数--233,最大Characteristic--248
DSO/ m3 |& J3 J5 N. K5 l1 U) n
- 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).)" B0 G+ I6 A- k* `2 h' U8 Q
0 q2 T! a' n# B* R
- You can create a maximum of 749 fields
; l4 v5 p3 w/ |. y: R
- You can use 1962 bytes (minus 44 bytes for the change log)9 k7 ?) E) y [ G/ D9 J
" r# Z2 n% n* _
- You cannot include key figures as key fields* a0 X9 X. a. Y2 \
摘自SAP官网~~
- h$ p0 J9 P% G# F1 z' B2 O
10.PSA~~persistence store area....持久数据加载区域,从数据源出来的数据第一站都会停留在这里.它是以包为单位进行传输的~~" h5 u' F4 v4 B Y' c4 Z# a
11.系统中的状态提示: D SAP传输(Delivery)状态 A 激活(Active)状态 M修改(Modified)状态7 ~5 N0 c6 y8 {" O
12.DSO 三个表 N表数据抽取后存放在N表 激活后会清空(这点要记得哦) A表 激活数据表 BEx拿数据是从这张表拿的 Log表存放数据的更改动作
6 O! a. W; P& ], l* l" R& ]
13.有关Cube的优化,可以聚集,分区,压缩.& v4 @, f) A$ c% ~
. G- ^( o. }( I0 @8 j% ~; n
14.流程链的T-code是RSPC
+ L/ k; i$ r/ M& `2 q6 K) v
15.每一个流程链必须有一个开始流程.没有变式的开始流程没有任何的价值.
16.流程链的类别包括加载流程与后续处理,数据目标管理,自动报告代理,常规服务,其他BI流程和自定义流程.% E, b) g( T% ?0 }
17.收集器流程....管理输入到相同的后继流程的多个流程...相当于交通警察的作用.可以判断替代流程是否满足条件而触发后继流程.
18.流程链必须激活.
+ Q7 ~. c- @$ v/ J; X
19.流程链中的颜色,红,黄,绿.....应该都明白各自的含义.+ j! a- R6 T5 v: N1 I' V
, g; m# ^# ?2 ]+ r& B B3 l" h
20.与进程,或进程,或异进程都属于收集器流程
21.DSO分为标准DSO,写优化DSO,直接更新的DSO.
22.标准DSO中有一个选项叫做"生成主数据标识"...这是啥玩意呢?他的用法取决于你的DSO是要拿来干什么的.如果你的DSO是拿来做报表的,那么勾上他是可以提高报表的查询速度.如果你的DSO是拿来存储数据的,那么建议不要勾上,因为系统会自动分配SID给你........貌似是设计用来做报表查询的index吗?. F/ |" w- J7 F+ u- R% `% n
23.实际的项目大多数喜欢用3层的数据模型,底层是写优化的DSO,记录delta和保证数据与PSA的一致,第二层用标准DSO,第三层用Cube...用level 1的DSO更新level 2的DSO的时候,一般都用SUM的方式.: V4 A" q2 j. i! r
24.BW做初始化的时候要注意什么呢?业务系统要全面停止,禁止输入任何数据.这个好理解吧
今天来说说标准数据源的Delta机制 d: H7 P3 F$ v. [1 S+ e
25.所有的Delta数据,在传到BW之前,都会先到Delta Q里面,再从DeltaQ到BW.Delta Q可以用RSA7查看.
j/ t3 t& \* V% ^
26.Delta数据从原始表到Delta Q, 有两种方式:对于LO的数据源,是系统将Delta数据push到Delta Q的,然后在InfoPackage执行的时候,再把数据从Delta Q搬到BW.这就是PUSH的方式. 对于非LO的数据源,大部分采用time stamp的方式,在InfoPackage执行的时候,系统根据time stamp去源数据表获得delta数据,这些数据被送往Delta Q之后,紧接着就被搬到BW了.这就是所谓的PULL的方式.: f1 ^6 D8 \. X7 h
" ~2 T" t9 G# B# C& B
27.所以总结一下:
PULL:当BW端请求数据时,R3端才做出回应,执行相关Function Module,把数据写入delta queue1 r8 I! E8 s5 p/ e- L
PUSH:数据自动写入delta queue,当BW端请求数据时,直接去delta queue中抽取
28.RSA7是查看Delta Q的,但是真实数据不是存在这里的.SMQ1(Out bound Queue)才是存储数据的地方~
转载于:https://blog.51cto.com/sapxuexiwang/1169010