### SAP BW 知识点总结及面试笔试要点
#### 一、SAP BW 基础概念
**1. SAP BW 的基本结构**
- SAP BW(Business Warehouse)是SAP公司开发的一款企业级数据仓库解决方案。
- 它通过抽取、转换、加载(ETL)过程将来自不同源系统的数据集成到一个中央仓库中。
- SAP BW 旨在提供高性能的数据查询和分析功能,支持业务决策制定。
**2. OLAP 与 OLTP 的区别**
- OLTP(在线事务处理)主要用于处理日常交易操作,如银行转账、订单录入等。它强调的是事务处理的速度和并发性。
- OLAP(在线分析处理)则主要用于数据分析和报表生成。它支持复杂的数据查询,并且可以对大量历史数据进行快速访问。
- 主要区别包括:
- 数据粒度:OLTP 数据更细粒度,而 OLAP 数据通常为汇总数据。
- 实时性:OLTP 要求实时或接近实时处理,而 OLAP 可以容忍较长时间的数据处理。
- 事务类型:OLTP 处理大量的简单事务,而 OLAP 更侧重于复杂的查询。
**3. BW InfoObject 的作用**
- InfoObject 是 SAP BW 中用于存储元数据的对象。
- 它可以是特征(Characteristics)或者关键指标(Key Figures),用来定义数据模型中的维度和度量。
- 在 BW 中,InfoObject 是连接不同数据结构的关键组成部分,如 DSO 和 InfoCube。
**4. SAP BW 体系结构**
- SAP BW 的体系结构主要由前端(Frontend)、中间层(Middleware)和后端(Backend)组成。
- 中间层负责数据抽取、清洗、转换等 ETL 操作。
- 后端主要是用于数据存储的数据仓库。
- SAP BW 的设计考虑了数据的安全性、可扩展性和性能优化。
**5. BW ETL 过程**
- ETL(Extract, Transform, Load)是 SAP BW 中数据集成的核心过程。
- **提取(Extract)**:从源系统中抽取数据。
- **转换(Transform)**:对抽取的数据进行清洗、格式化和转换。
- **加载(Load)**:将转换后的数据加载到目标系统中。
**6. ETL 过程的主要步骤**
- 定义数据目标(DataTarget):例如 DSO、InfoCube。
- 定义数据源(Source):可以是外部系统或者其他 SAP 组件。
- 定义转换关系(Transformation):用于定义数据如何从源映射到目标。
- 通过 InfoObject 获取 PSA(Persistent Staging Area):临时存储区域。
- 执行 DTP(Data Transfer Process):将 PSA 中的数据转移到最终的目标对象。
#### 二、DSO 与 Cube 的区别
**1. 结构差异**
- DSO(Delta Structure Object)是一种具有高更新频率的表结构,适合频繁更新的场景。
- InfoCube 则主要用于汇总和分析数据,通常不直接更新,而是通过 DSO 提供的数据进行填充。
**2. 内容差异**
- DSO 可以包含更多的细节数据,而 InfoCube 通常存储的是经过聚合的数据。
- DSO 支持多种数据统计方式,而 InfoCube 一般只支持一种固定的聚合方法。
**3. 更新机制**
- DSO 支持实时更新和批处理更新。
- InfoCube 仅支持批量更新。
**4. 存储机制**
- DSO 通常存储在物理表中。
- InfoCube 使用特殊的压缩技术来提高性能。
**5. DSO 的记录模式**
- N (New):新增记录。
- X (Change):修改记录。
- R (Delete):删除记录。
- A (Active):活动状态。
**6. Cube 的特殊功能**
- Cube 支持多维数据分析。
- 支持动态统计计算。
- 可以通过 Virtual Provider 直接访问源数据,提高实时性。
#### 三、其他重要知识点
**1. Multiprovider 与 InfoSet 的选择**
- Multiprovider 用于从多个 InfoCube 或 DSO 中获取数据,适用于需要跨数据集查询的情况。
- InfoSet 则用于定义数据集之间的关联,可以通过 JOIN 操作来实现数据集之间的关联查询。
**2. Query 的使用**
- Query 是 SAP BW 中用于构建报表的主要工具。
- 可以根据不同的过滤条件和排序方式生成灵活的报表。
- 支持多种类型的键值(Key Values)和过滤条件(Filter Conditions)。
**3. OpenHub 的使用**
- OpenHub 是 SAP BW 提供的一个接口,用于与其他 SAP 或非 SAP 系统交换数据。
- 通过定义 Data Target,可以从 SAP 系统或其他数据源中提取数据,并将其加载到 BW 中。
- OpenHub 支持各种数据源,包括 SAP R/3、外部数据库等。
**4. 外部数据源的处理**
- SAP BW 支持多种外部数据源,包括关系型数据库、文本文件等。
- 在处理外部数据源时,需要定义数据源的信息,如连接参数、数据格式等。
- 通过特定的函数模块(Function Modules)可以实现数据的抽取和加载。
**5. Delta 处理**
- Delta 处理是 SAP BW 中一种重要的数据更新机制。
- 它允许系统只处理自上次处理以来发生更改的数据。
- 通过定义 Delta Queues 和 Delta Activities 可以实现增量数据的抽取和加载。
**6. SAP BW 中的 ABAP 报表**
- ABAP 报表是 SAP BW 中用于创建复杂报表和分析的一种手段。
- 它支持各种报表类型,包括列表、图表等。
- ABAP 报表可以通过标准工具或编程方式进行创建。
以上是 SAP BW 的核心知识点以及面试笔试中可能涉及的重点内容。对于咨询顾问来说,深入理解和掌握这些知识点是非常重要的,有助于更好地应用 SAP BW 解决实际问题。