答“我做过 2 个完整项目 现在在这个公司做外部顾问。
2. 你主要负责哪一快?
答:我主要负责 BW上面的 FI和 HR模块,对其他模块有所了解。
3. 什么是 DELTA 机制?
答:答: delta 机制分为两部分:数据源的 delta 机制、 BW的
delta 机制: 数据源的 delta 分后勤数据源的 delta 机制、其他数
据源的 delta 机制,后勤 数据源的 delta 是通过 extraction Q 和
delta Q 、V3JOB 来实现,首先通过 IP whit out data 打标,然后 setup ,通过 full 抽取从 setup 抽取数据,对于以后 的增量数据,
是 ECC 把业务数据自动 push 到 extraction Q ,然后通过 V3job 的方式把数据抽取到 delta Q 中,通过增量的 ip 从 delta Q 抽取数据实现增量; 其他数据源的 delta 机制,是通过时间戳打标, 通过 IP 根据时间增量抽取数据; BW 的 delta 机制,通过 DSO 的
recordmodule 实现 前像 冲销以前的数据, 再产生一个后像,在往上
上述的时候通过 before inmage 冲销,通过 after inmage 产生修改的后的数据;
Dso 往上上述一个 dso 时如果写的是在 DTP 中写的是全量更新则从 dso 的有效 表中抽取数据, 如果写的 delta 更新,则是通过 changelog 表抽取数据上述的 上层的 dso ;
Word 资料
4. 不同模块事务数据 DELTA 加载的操作过程一样吗? 答:不一样, MM 有 MM 的 DELTA機制, FI有 FI的機制。
5. 什么是数据源增强?
答: DATASOURSE的增强其实就是在标准 DATASOURSE 上面,修改结构,然 后 在 EXTRACT 数 据 的 时 候 通 过 写 ABAP 命 令 取 到 自 己 要 的 数 据 放 到 DATASOURSE 中。 COMDE 中有四个部分分别写代码: 001 业务数据 002 主 数据属性 ; 003 主数据文本 ; 004 层次结构; 分两部分:数据源的增强;自定义需要提取的字段新建一个数据源, 在 BW侧再 关联实现自己的需求;
6. CUBE 和 ODS 最大的区别是?
答:最大的区别是 CUBE的KEYFIGURE是累加的,但是ODS是可以
OVERWRITE 的,一般 ODS 用来放 ITEM LEVEL的数据。 Cube 可以对数据做压缩、聚集
Cube 是的星型模型,提高数据处理速度,减少冗余; dso :二维
的存明 细数据; dso 上述需要激活、 cube 上述不需要激活;
7. 你是怎么理解性能调优的?
答: CUBE 优化包括压缩,分区,聚集和查询优化。
性能调优分两部分: query 层面(数据提取出来后在 query 中整理展示)、DB 层面(从的 DB 把数据提取处理啊)
DB层面: cube 的压缩使 DB层面的数据尽量减少,压缩 requst ;压
Word 资料
缩存在问 题:压缩后不能根据 request 区分和删除数据;如果选择了
with zero ,把数 据里真的是 0 的数据压缩没了;
压缩可以设置到处理链中( compression of the cube )
创建压缩( rollup )时可以系统推荐创建运行时间大于某个值的查询,可以自己 创建;(能在数据链中要增加 roll up 这个环节;在 cube 中执行 roll up ) 聚集:设置聚集,按照用户的使用习惯把用户的查询维度设置成一个个的小的 cube ,这是在提取数据的时候直接从小的 cube 中提取数据;
Query 层面的优化:想一些公式、选择、条件等放在 query 里处理的
数据的会 影响到 query 的速度; 分区:可以安装逻辑分区,把数据按照一定的条件分开,放在不同的 cube 中; 创建分区步骤:选择
cube (修改) --附加 -数据库性能—分区: cube 的数据中
有日期字段,可以按照日期进行分区;
手工创建两个 cube 比如: 3 个月内的 cube 、 3 个月之前的 cube ,在上述是
在 transformation 中写把当前数据放入 3 个月内的 cube ,把 3 个月之前的数 据移入到 3 个月之前的 cube 里; 广播的方式也可提供
Word 资料
查询速度, 每天需要把用户执行的查询条件提前执行, 并放 到内存中,在白天用户使用报表时直接从内存中读取数据; 分区:
8. 什么是清洗表?在哪里用?
答:就是自建一张表, 里面有关键字段和数据字段, 然后例程中会利用这张表来 清洗数据
,在转换的例程中用的比较多, 用这个表的好处就是表里的内容可以随着业务变 化随时 变,不用总是改程序。
9. BI CONTENTS 激活后有没有自动加上 INFOPACKAGE ?
答:在 DATASOURCE 下面,先 INSTALL 好所有的東西之後,再手工去創建 INFOPACKAGE ,
INFOPACKAGE 都是要自己手工去創建的。
10. 你知道 REAL-TIME 有什么作用 ?
答:BW 一般都是对历史数据分析用的,如果模型中需要实时的数据就要用到这 种技术,但是这样系统效率很低,一般很少用到。
RDA(实时数据抽取)创建一个实时的 cube ,并加快 delta 抽取的时
间,但是对 于 logistic 数据源, V3job 的抽取时间一定要和实时数据抽取一致或者短,要不 实现不了实时;创建 cube 时选择实时:
Word 资料
基于功能模块就是通过写代码的方式,实时数据抽取;
11. R3 目前有哪几种常见的数据提取方法 ?
答:LO提取:后勤数据提取 ,通用提取, CO-PA 提取:财务里 CO-PA ,提取 需要的字段和数据提取。
12. 通用提取的数据来源有哪几种,是否可以 DELTA加载 ?
答: TABLE/VIEW,INFOSET,FUNCTION MODULE,可以 DELTA加载:。
13. LO 提取的 UPDATE MODE 有哪几种?
答:Direct Delta :直接更新 ; Unserilized V3 update :无序的 V3job, Queued
Delta :队列增量 , Serialized V3 Update 。
14. RSA5, RSA 6, RSA 7 各代表什么意思? 答:RSA 5:显示 Delivery 版本的 BI CONTENT,可以激活 BI CONTENT。
Word 资料
RSA 6:显示 Active 版本的 BI CONTENT。 RSA 7:用来查看 Delta Queque 中的内容。
15. BI3.5 和 BI7.0 加载数据步骤的区别? 答: BI3.5. 复制 DATASOURSE3.x,创建 Infosource, 建立 DATASOURSE3.x 和 Infosource
之间的 Transfer rule, 建立 INFOCUBE/ods, 建立 Infosource 和
INFOCUBE/ods 之间的 update rule, 创建 Inpackage 加载数据。
BI7.0. 复制 DATASOURSE,建立 INFOCUBE/DSO, 建立 DATASOURSE INFOCUBE/DSO 之 间 的 Transformation, 针 对 DATASOURSE 创 建 Infopackage, 将 数据 加 载到 PSA,创建 DTP, 将数 据从 PSA 加到 INFOCUBE/DSO.
16. LO 抽取的步骤 ?
答:
一 .传输 DATASOURSE 二.维护提取结构 三 .维护生成 DATASOURSE
四. 复制和激活 SAP BI中的 DATASOURSE
五. 维护数据目标( DATASOURSE对象, INFOCUBE) 六. 维护 DATASOURSE 和数据目标之间的转换 七. 创建数据传输流程 八. 激活提取结构
Word 资料
和 载
九. 删除设置表 / 执行设置提取 十.选择更新方法 十一 .增量初始化的 infopackage 十二 .必要时,计划 V3 集中运行 十三 .增量上载的
infopackage
17.数据源增强步骤? 答.在附加到 DATASOURSE 提取结构的附加结构定义要
二 .写入你的功能出口以调用 DATASOURSE 的相关数据源 三.在 BI 中复制此 DATASOURSE, 激活对应的 DATASOURCE 四 .为增强的 DATASOURSE 提取数据
18.什么是增量队列?( delta queue ) 答:增量队列是新建或已更改
数据记录的数据储存形式 (上次数据请求以来出现 的数据记录)。从系统收到数据请求时,会使用源系统中的更新流程或录入自动 写入增量队列。
19.infopackage 几种更新模式?
答: 1完全更新 2 初始化增量流程( initial whit data ,initial whitout data )
3 增量更新
20. 什么是增量更新? 答:增量更新仅为源系统中的请求上次加载以来已创建或已更改 (或已删除) 的 数据记录。
21. 各个增量流程都支持哪些记录类型?
Word 资料
答:后像 空格;前像 X;反转象 R; 新象 N;删除 D; ADD A 。
22. 平面文件的增量流程原理是怎么样的? 答:如果增量流程使用平
面文件,数据不会通过增量队列传输到 BI ,而是直接 从 DATASOURSE 加载到 PSA 。
23. DSO 分类有那几种?
答:标准 DSO:3个表:有效表、 NEW 表, changelog 表;优化
DSO:有效 表,直接写入 DSO :有效表(通过程序直接写入) 。
24. DSO 对象的不同类型 ?
答:
1. 标准 DSO 对象,具有已知的表活动数据、更改日志和激活队列。 2. 优化的对象,针对大量数据仅具有一个活动数据表。
3. 直接写入的对象,仅具有一个可用于分析程序(分析程序设计器)
的活动数据 表。此 DSO 对象替换早期版本中的事务性对象。
25. 什么是多重提供器( mutli provider )?
答:是一种,它综合了多个的数据以用于报告。供者本身不包含任何数据。数据 由所基于的这些合在一起进行合并操作。
Word 资料
26. 什么是信息集( info set )?连接方式: left out join ,join
答:信息集通常定义为数据,标准信息块;信息对象是时间相关特性,则交集是 时间相关或临时交集,是数据源上的语法层。与典型集是特定的数据视图。
27. 非聚集 Key Figure 、原理?
答:非聚集 Key Figure 有点类似计算字段,是从另外字段计算出来的。
28. 什么是流程链?
答:流程链是一系列计划要在事件的后台等待的流程。 这些流程中有些触发了单 独的事件, 该事件可以依次启动其他流程。 流程链的每个流程等于计划与事件相 关的基础系统中已批准的作业。
29. 流程链 --维护?
答:
* 通过事务代码调用流程链维护 Tcode : rspc
* 在管理功能区域,选择导航窗格中的流程链,以调用流程链维护 * 在建模功能区域,通过选择工具栏上的流程链图标(或者从菜单选择编辑 →
流程链),您可以调用流程链维护。
* 选择工具栏中的流程链维护按钮, 以便从所支持流程的维护对话访问流程链维 在监控处理链经常出的问题:在处理链中由于 ECC 字符和
Word 资料
BW 定义的字符格式 不一致,在上述时激活造成报错;
30. R/3 系统抽取数据到 BW 系统里,是否必须要在 R/3 建立 logical system , 并指定?
答:从 R/3 系统抽取数据到 BW 系统里,必须要在 R/3 建立 logical
system , 并指定。可以自己做一个 DATASOURSE,也可以用 RSA5 激活
一个系统自带的 \\DATASOURSE (在 R/3 下)。步骤大概是 R/3 创建
logical system ,BW 创建 logical system ,然后创建两个 background
user ,一个 R/3 的一个 BW 的,互相通信用。然后在 BW 创建个 source system , transfer
R/3 global setting ( change rate 也要传输),然后再复制 data source 。
31. 建立模型时的导航属性具体含义是什么 ?
答:是在做查询的时候用的 ,过程是这样的,首先在主数据的导航属性里面选择 某一个字段,例如物料主数据的物料组设置成 了导航属性,然后在 INFOCUBE 里面还有一个设置导航属性的地方,这里就是该
INFOCUBE 里面全部特性的导 航属性的和 (如果在特性里面没有选择
导航属性,在 INFOCUBE 里面也找不到 ), 在 INFOCUBE 也选中该属性为导航属性后,物料组就可以作为物料的一个导航 属性存在了,在做查询 的时候,物料组(在特性里面物料的下拉菜单中就会出 现)就可以成为一个查询条件了或者做其他了。
Word 资料
32. 把 BW 报表发布到 EXCEL 上,有一个变量日历年月, 每天打开窗
口时选择变 量值时都是按顺序排的,因为 Cube 里的数据多较多了,每次都要翻好几页, 有什么办法让弹出窗口 的信息是倒序排列的?
答:方法 1.你可以于变量输入窗口,选择“单值” ,点击“日历年 / 月”条目,可 以切换 排序方式 (升序或降序 ) 。
方法 2.可以用“日历年”加“日历月”变量替换“日历年 /月”变量 ,同时设定 查询默认值,这样可以减少条目数。
33. Query 中的数据如何居中显示呢?
答:
1. 选择要修改的区域
2. 点击 Bex 菜单中的 Layout, 选择 alignment 3. 设置 Horizontal 为 center
4. 保存 Workbook 即可在 query designer 中的 query properties, Display tab 可 以 选 择 results position in number format, 可 是
只 有 Bottom Left/Right, Top Left/Right. 没有居中。
34. 对 INFOCUBE 进行数据显示时,发现某一条记录里有一关键值 A ,其值为 23.3 同时对应的 MulitProvider 进行数据显示时发现该记
录的关键值 A 的值为 0.能过 Query 进行报表显示时,该记录的关键
Word 资料
值同样显示为 0?
答: MulitProvider 中添 加了 INFOCUBE 中 的 KF,但是没有 指定从哪个 INFOCUBE 中获取;
在 MulitProvider 编辑界面左上角有按钮 select key figures ,点进去,在你需 要的 INFOCUBE 的 KF 前打勾。
35. BI 数据源系统激活时提示以下错误。 no metadata upload since upgrade rsar 672 怎么解决 ?
答:分步检查,缩小范围:
1. 确认 BW 的源系统连接是有效的: BW 系统的 RSA1->源系统 ->
选择你需要的 源系统,用鼠标右键点击 check 。
2. 如果源系统有问题,可以用 sm59 测试看看 RFC 连接是否正确。 3. 如果源系统没问题,可以重新复制数据源。 4. 正常此步骤后复制过来的数据源应该就是正确的。
36. BW 采购标准 CUBE 问题,现在报表显示的字段为:
“物料 ,供應商,采购单号,物料文件号,交貨单号,工廠,交货库存地点,过賬 文件( Reference ),數量,单位, PO 交貨日期,建立日期”,这几个字段的数 据。但 Reference, Delivery 二个字段在采购的数据源中:
Word 资料
2LIS_02_CGR 2LIS_02_HDR
2LIS_02_ITM
2LIS_02_S011 2LIS_02_S012 2LIS_02_SCL 2LIS_02_SCN 2LIS_02_SGR 2LIS_03_BF
2LIS_03_BX 中都找不到,在提取结构中也没有发现。
在 2LIS_02_ACC 中找到了交货单,没有记录,所以认为不是在这个数据源。
2LIS_06_INV 有 Reference 这个字段,但内容值对不上。 现在采用标
准的数据源, CUBE 来做,暂不想做增强。
MKPF 表存在物料文件号与交货单号, RSA3/LBWE 中的采购部分的结构
没有看 到交货单字 段。
答:需要做增强或者自定义数据源抽取。
37. 如果要抽一个表 ,但是数据源不能相同 ,在哪里设计? 答:在信
息包里面设置。
38. 什么是 INFOCUBE?
答: INFOCUBE 就是信息立方体,使用星型结构存储并分析数据的载
Word 资料
体。意义 在于进行数据分析和统计。
39. 在 query designer 内建立 calculated key figure ,因为我想要他的公式结 构,未来可以自动化的将所有 CKF 的公式汇出。但在 modeling 里只有看到一 般的 key figure ,没有 CKF?
答:在 Modeling Tree 下面的 BW 移送 ->移送
type->Query->Formula ,层次 是这个关系,可以看到。
40. 如果修改了信息对象,信息包上载数据报错 ?一般怎么解决 ?
答:重新去复制一下数据源。
41 、写优化的 DSO 适用场景:
答:一般是用在比较少变动的,因为没有 new 表 没有日志表,写优化一般在 实际项目中底层的 dso 用写优化的比较多, 底层 dso 只是为了保存数据 ,不经常 变动。不用激活就可以直接上述。以下场景中经常用到:
A 、构建 EDW 的原始数据层,无报表需求,不需要激活, ETL过程更
快
B、存储大量 document level 的明细数据 C、每次加载的都是新数据,数据不发生变化 D、临时存储数据
E、实际项目中,写优化 DSO 通常用于存储财务凭证和物料凭证,这
些凭证一 旦发生就不会修改
Word 资料
42、直接更新的 DSO 适应场景:
答:在创建完之后,发现右键菜单下,没有了 dtp ,infopackage 等功能。用 写程序直接更新 ,一般用来做一定的应用,如 APD 。是通过 BW 中的业务平台, 将数据通过 API 的方式,直接写入的, 比如监控某几张报表的使用频率, 直接写 程序把访问数据写入表中。在 CMOD 中写代码;
43、BW 的一些参数设置,比如: ECC 和 BW 连接的参数设置:
答复: rsa1 --源系统-ids集团800 - 右键 定制提取器 --输入用户名 密码 --一般 设置 业务内容数据源 可以设置 ECC 和 bw 连接的一些参数;
44、BW 中传播的功能和设置? 答复:报表传播功能:把报表执行的数
据执行存在缓存中。一般都在 bo port 里对每张报表设置(设置的条件等与用户查询的条件完全一致)
rsa1 - 传播 --设置(前提在 port 中建传播),日志可以查看传
播;
rsrt--高速缓存监控 -查看缓存
45 、query 中如何设置可以提供报表的执行效率?
答:提高报表速度: 在 query designer 中尽量把明细的字段放在” 自由行“里, 提高报表的查询速度;尽量用多的表格,少用图片;
46、实际项目中涉及到文档:开发文档(更注重于每个点的细节每个
dso 等里
Word 资料
字段、数据来源、 data source 的定义)、模型设计文档 (更注重于模型架构图、 流程图)、测试文档;项目中各个阶段有那些输出物:需求调研阶段:需求调研 文档(大概报表的一些信息、报表数量,每个报表展示的大概数据) 、设计阶段: 设计文档(模型设计文档) 、开发阶段(开发文档) 、 UT(测试文档)、uat (用
户的测试文档)、上线;
47、如果 DSO 的 key 不够用怎么办?
答复:dso 的 key 最多是 16 个,如果一个表中的 key 超过 16 个了,可以把 key 合并,比如: key1(10)、key2(6),可以建一个长度是 16 的key ,把两个字 段上述到一个字段里。
一般 dso 中很少用到,在 cube 中最多有 13 个维度,在 cube 中可以把两个 dimension id 合并成一个 dimension id ;
48、TCODE:RSA9 : 传输应用层次结构(先传输层次结构: MM 、sd、pp
等)
49、BW 中权限的控制:
答复:报表权限:报表的权限在 bo 、port 中控制; 数据权限:(1)定位对那个字段做权限控制、 (2)特性 -业务浏览(相关的权限 勾选上)、(3)query desinger 变量的出理由选择权限, (4)
Word 资料
rsa1-管理-分析权 限-在分析权限中进行管理;
50、CUBE 中创建维表时的行项目维、高基数维的应用和优势: 答复:
当维表中的特性超过了 cube 所有特性的 20%以上时,需要把维设置成 高基数维;可以调整物理表结构,提高性能;
行项目维: f表直接连到 sid表,中间的 dimension 表就不用了,提高查询速度; 51 、psa 和 dso new 表 key 是完全一样,他们的数据是完全一样的, dso 中 new 表和有效数据表是根据 dso 中的增量机制管理、上述;
52、ABAP 在 BW 中哪些功能模块会用到:
答复: (1)rultin :start 、end 、连线 rultine; (2)CMOD : ECC 侧数据数据增 强提取数据、 (3) CMOD:bw 侧的变量增强;
53、 BW 扩展星型结构和传统的星型结构相比有哪些优势? 回答:标
准星型模型是数据仓库中一种常用的组织信息和数据的数据模型。 它由中心的一个事实表( Fact Table )和一些围绕它的维度表( Dimensional Table )组成。 SAP BW 星型模型 SAP在标准星型模型基础上做了一些改进, 将维度表中的主数据( Master Data )分离出去,建表,并通过 SID Table 和维度表关联起来。SAP将主数据分为 3 类:属性(Attributes ),文字描述(Text), 层级结构
( Hierarchy )。这里需要注意的是 Master Data 并不是 InfoCube 的一部分,因此 Master Data 可以在多个 InfoCube 享。这是 BW 将
Word 资料
Master Data 从维度表分离出来的主要原因之一。 我们知道 MOLAP 数
据仓库为了提高 Aggregation 的效率,需要事先把这些 Aggregation 的值计算好,而不是在 每次请求的时候才计算。这些预先计算好的
Aggregation 值当然也需要以 cube 的形式保存起来。如果是用标准星
型模型,那么有两种方法来存储:一种 是将 Aggregation 值和 facts 一起保存在原始 cube 的事实表中,这样事实表 就会更加庞大,查询效率肯定不高。另一种是为不同的 Aggregation 建立 的
aggregation cube ,存在这写新的 cube 中,但这样会造成维度表的冗
余, 每个 aggregation cube 都会重复一份它所需要的维度表中的所有信息。现在
BW 将 Master Data 从维度表分离出来使得维度表变成一张简单的关系
表,就 解决了 Master Data 的冗余问题。同时由于 Master Data 不是和维度表绑在一 起而是通过 SID Table 查询得到, 使得多语言支持非常方便。 可以为每种语言建 立的主数据表并根据查询时的语言信息动态绑定到不同语言的主数据表。
54、 特征值可以使用哪些数据类型?
答复:一般特性有四种: char 、 number 、date ,time ;特殊的特性:时 间特性、单位特性、技术特性;
55、 一个信息立方体里面有多少个维度,分别是什么?什么是聚
集? 答复:有三个维度是系统定义的:时间维度、单位维度、技术特性维度;最 少一个自定义维度、做多 16 个维度;
Word 资料
聚集:聚集是数据仓库经常使用的一个方法。聚集是对信息立方体中的 数据 (基本事实表, F-Fact 表)按照指定的一个子集进行数据汇总, 汇总的数 据存在不同的的事实表 ( 聚集事实表, E-Fact 表) 中。根据常用的查询 的种类,一个基本事实表可以设置多个聚集事实表。
· 根据 CUBE 中几个或者一个维度信息对象创建的 Mini
Cube ,可以 提高数据的访问效率当查询访问 CUBE 时,若聚集中
的维度能满足查询条件 则只需访问聚集而非 CUBE
· 新生成一张事实表外加一些对应的维度表。 · 用空间换时间、数据是冗余的。
· 聚集可以建立在特征值、导航属性、层级上。 在报表运行中,系统自动根据报表的查询维度找到最合适,也就是数据 量最少的聚集事实表中读取数据。 由于数据量的减少, 降低了报表运行时间。 也就是说,聚集的设置对最终用户是透明的,用户没有必要关心是否找到合 适的聚集,系统自动会找出相应的聚集表。
聚集在是基本的事实表上设置的。聚集可以按照特性建立,可以按照导 航属性建立,也可以按照层次建立。
其中对于聚集中维度数据和事实表数据的更新,如果是导航属性生成的维度 表,则通过信息对象的 change run (在“管理”下面)可以同步聚集维度 表数据,而事实表数据通过 ROLL UP可以更新。 聚集的适用范围 聚集是基于分析模型的基础上设定分析模型
Word 资料
的子集,同时又是具有 真实的物理数据存储的,因而聚集的创建不适合信息集和多信息提供者,以 及虚拟信息提供者 (虚拟信息立方体 )这些不具有物理数据存储的数据对象, 也不适用于 DS。这样的二维的数据存储对象。
56 、 BW 报表查询中,什么是计算指标,什么是指标,什么是条
件? 计算指标:是针对 query 的数据源,根据现有的特定指标通过计算或者 公式定义出需要的指标;
指标:是针对 query 的数据源,根据现有的特定特性和指标的组合 选择出一个新的特定指标; 条件:在 query 中根据指标做过滤的条件;
57、 属性有哪些类型,分别是什么?怎么区分这些类型?举个例子
答复:属性分显示属性、导航属性;显示属性在 query 中不能单独存在,导 航属性可以脱离主数据而存在; 58、 什么是复合特性( compounding ) ,举例说明
答复:是把两个特性,合并成一个特性,比如 item 不能确认一条数据,需 要和 head 连接一起
59 、 信息立方体有多少张表,分别是什么, cube 压缩的实质? 答
复:一张实时表和最多 16 张维表,最少 4 张维表组成;
Cube 压缩的实质: 前几天的数据测试无误, 做压缩,压缩就是把 request id 去掉,相同维度的做 add ,提高性能;压缩的缺点:不
能根据 request 区分 和删除数据;如果选择了 with zero ,把数据里真的是 0 的数据压缩没了; 压缩可以设置到处理链中
Word 资料
( compression of the cube );
60、 怎么设计出一个好的立方体维度出来,举例说明? 答复:创建维
度就是多角度多层次全方位的去分析数据。
1 如果维度表列和事实表中的连接太多时,可以采用行项目维。
也就是 去掉维度表,把 sid 表直接放在事实表中。通常有销售订单,号。
2 如果维度数据是事实数据 20% ,可以采用基数高度,对生成 cube 自 动优化,采取合适索引。
维度设计原则:
1 倾向于更多的列和更少的行;尽可能有意义
2 设计一个占空间尽可能小的主键;带来更小索引,主要是提
高效率
3 不建议特别的规范化,也可以有冗余。规范化后可能使结构更
加复杂
4 维度表中属性尽可能是文本或离散的。通常是查询的条件 合理
的维度数量,不宜太多,影响性能,用户使用起来也没有太大意义;维 度的组合和顺序也要合理;把相近的有关系的维度放在一个维表中。
比如可以从 Outline 的组合顺序、 Sparse/Dense 的设置、 计算脚本的运用、
Partition 优化、 DataLoad File 优化等等,其中 outline 的组织
顺序有一定 的规则,类似沙漏型。总言之,可以通过这些方法找到一种平衡。 但我想说的是:这么多的维度合不合适?实际上是上面
Word 资料
问题的出发点。作为 主题,是相对比较且很明确的数据,不是大而全。换句话说,每一个主 题的背后隐含着 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)
Word 资料
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 的数据
Word 资料
采用当前的标准汇率,但是 Forecast 的数据采用用户自己提供的汇率,因
为这个提供的汇率是针对未来几期的,所以和实际的汇率可能不一致或者无 法去要求一致,所以希望我们的报表需要能够满足这样一种功能要求。
问题 2:MM 段要在某个报表中增加上个月的金额和本月数据作对比, 并且汇率要按照实际月份进行转换。
在解决问题之前,有几个知识点我们是需要清楚的。
1.
Currency Conversion Type :币种转换类型, 也就是转
换币种 的规则。币种转换会涉及到几个关键问题: A. 汇率 B. 源币种 C. 目标币种 D. 汇率时间
2. 3.
Currency Conversion Key : 即币种转换类型的编码 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)也可以实现汇率转
Word 资料
换。所以通过 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.
ii. iii.
Current Date ( 系统当前时间 )
Key Date ( 设定一个定值 )
Time Based From Variable (设定时
间变
量,这个变量必须是挂在 Calendar 下面)
2.
Variable Time Ref. (变动时间)
i. Standard InfoObject (当前报表中 标准的时间
Object )
ii.
Special InfoObject (处理不是精确
Word 资料
到
日的时间 Object ,比如 0Fiscper )
如果是 ii 的情况,会要求设定具体的时间点
3.
Query Key Date
通过上述的属性的列举,我们可以找到两种解决方案
1. 采用 1-iii 设置一个时间变量,这样可以灵活的获取时间
2. 采用 3,因为这个 Report 其实不要用到 Key Date ,所以可以
利用 Key Date 来传递时间
最终权衡之后,我们选择了方案 1,因为来得更为合理而专业。同时只 需要将设置的时间变量类型设为“ Customer Exit ”,就可以通过代码来设定 时间。
、 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 是实际的
Word 资料
物理存 储对象 ,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, 双击
Word 资料
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 持久数据加载区域 ,从数据源出
来的数
Word 资料
据第一站都会停留在这里 .它是以包为单位进行传输的
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 是
Word 资料
拿来存储数据的 ,那么 建议不要勾上 ,因为系统会自动分配 SID 给你 ................................. 貌似是设计用来做报表查
询的 index 吗 ?
87、 实际的项目大多数喜欢用 3 层的数据模型 ,底层是写优化的
DSO, 记录 delta 和保证数据与 PSA 的一致 ,第二层用标准 DSO,
第三层用 Cube... 用 level 1 的 DSO 更新 level 2 的 DSO 的时候,一般都用 SUM 的方式.
88、 BW 做初始化的时候要注意什么呢 ? 业务系统要全面停止 ,禁止
输入任何 数据 .这个好理解吧,今天来说说标准数据源的 Delta 机制
、 所有的 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 端才做出回应,执行相关
Word 资料
Function
Module ,把数据写入 delta queue
PUSH:数据自动写入 delta queue ,当 BW 端请求数据时,直接去 delta
Word 资料
queue 中抽取
92、 RSA7 是查看 Delta Q 的 ,但是真实数据不是存在这里的 .SMQ1(Out
bound Queue) 才是存储数据的地方 ~
Word 资料
Word 资料
Word 资料
Word 资料
Word 资料
Word 资料
Word 资料
Word 资料
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务