- 奥比教程
- 奥比 - 主页
- OBIEE-数据仓库
- OBIEE - 维度建模
- OBIEE - 架构
- OBIEE - 基础知识
- OBIEE - 组件
- OBIEE - 建筑
- OBIEE - 存储库
- OBIEE - 业务层
- OBIEE - 表示层
- OBIEE - 测试存储库
- OBIEE - 多个逻辑表
- OBIEE - 计算措施
- OBIEE - 维度层次结构
- OBIEE - 基于级别的测量
- OBIEE - 聚合
- OBIEE - 变量
- OBIEE - 仪表板
- OBIEE - 过滤器
- OBIEE - 视图
- OBIEE - 提示
- 奥比 - 安全
- OBIEE - 管理
- OBIEE 有用资源
- OBIEE - 问题解答
- OBIEE - 快速指南
- OBIEE - 有用的资源
- OBIEE - 讨论
OBIEE - 快速指南
OBIEE——数据仓库
在当今竞争激烈的市场中,大多数成功的公司都能对市场变化和机遇做出快速反应。快速响应的要求是有效且高效地使用数据和信息。“数据仓库”是按类别组织的中央数据存储库,用于支持组织的决策者。一旦数据存储在数据仓库中,就可以对其进行访问以进行分析。
“数据仓库”一词最早由 Bill Inmon 于 1990 年发明。据他介绍,“数据仓库是一个面向主题的、集成的、时变的、非易失性的数据集合,用于支持管理层的决策过程。”
Ralph Kimball 根据数据仓库的功能提供了数据仓库的定义。他说,“数据仓库是专门为查询和分析而构建的交易数据的副本。”
数据仓库(DW 或 DWH)是用于数据分析和报告目的的系统。它们是保存来自一个或多个异构数据源的数据的存储库。它们存储当前和历史数据,并用于创建分析报告。DW 可用于为高级管理层创建交互式仪表板。
例如,分析报告可以包含公司销售报告的季度比较或年度比较数据。
DW中的数据来自多个操作系统,如销售、人力资源、营销、仓库管理等。它包含来自不同交易系统的历史数据,但也可以包含来自其他来源的数据。DW用于将数据处理和分析工作负载与事务工作负载分开,并能够整合来自多个数据源的数据。
对数据仓库的需求
例如 - 您有一家住房贷款机构,其中数据来自多个 SAP/非 SAP 应用程序,例如营销、销售、ERP、HRM 等。这些数据被提取、转换并加载到 DW 中。如果您必须对产品进行季度/年度销售比较,则不能使用操作数据库,因为这会挂起交易系统。这就是需要使用DW的地方。
数据仓库的特征
DW 的一些关键特征是 -
- 它用于报告和数据分析。
- 它提供了一个中央存储库,其中集成了来自一个或多个来源的数据。
- 它存储当前和历史数据。
数据仓库与事务系统
以下是数据仓库和操作数据库(事务系统)之间的一些区别 -
事务系统是为已知的工作负载和事务而设计的,例如更新用户记录、搜索记录等。但是,DW 事务更加复杂并且呈现通用形式的数据。
事务系统包含组织的当前数据,而数据仓库通常包含历史数据。
事务系统支持多个事务的并行处理。需要并发控制和恢复机制来维护数据库的一致性。
操作型数据库查询允许读取和修改操作(删除和更新),而 OLAP 查询只需要对存储数据进行只读访问(select 语句)。
DW涉及数据清理、数据集成和数据整合。
DW 具有三层架构:数据源层、集成层和表示层。下图显示了数据仓库系统的常见架构。
数据仓库系统的类型
以下是 DW 系统的类型 -
- 数据库
- 在线分析处理(OLAP)
- 在线事务处理 (OLTP)
- 预测分析
数据库
数据集市是数据仓库的最简单形式,通常专注于单一功能领域,例如销售、财务或营销。因此,数据集市通常仅从少数数据源获取数据。
源可以是内部事务系统、中央数据仓库或外部数据源应用程序。反规范化是该系统中数据建模技术的规范。
在线分析处理(OLAP)
OLAP 系统包含较少数量的事务,但涉及复杂的计算,例如使用聚合 - 总和、计数、平均值等。
什么是聚合?
我们保存具有聚合数据的表,例如每年(1 行)、季度(4 行)、每月(12 行),现在我们要比较数据,例如每年仅处理 1 行。但是,在未聚合的数据中,所有行都将被处理。
OLAP系统通常以多维模式存储数据,如星型模式、银河模式(事实表和维度表以逻辑方式连接)。
在 OLAP 系统中,执行查询的响应时间是一种有效性度量。数据挖掘技术广泛使用 OLAP 应用程序来从 OLAP 系统获取数据。OLAP 数据库以多维模式存储聚合的历史数据。OLAP 系统的数据延迟为几个小时,而数据集市的延迟通常接近几天。
在线事务处理 (OLTP)
OLTP 系统以大量短在线事务(例如插入、更新、删除等)而闻名。OLTP 系统提供快速查询处理,并负责在多访问环境中提供数据完整性。
对于 OLTP 系统,有效性是通过每秒处理的事务数来衡量的。OLTP 系统通常仅包含当前数据。用于存储事务数据库的模式是实体模型。标准化用于 OLTP 系统中的数据建模技术。
OLTP 与 OLAP
下图显示了 OLTP 和 OLAP 系统之间的主要区别。
索引- 在 OLTP 系统中,只有很少的索引,而在 OLAP 系统中,有很多用于性能优化的索引。
连接- 在 OLTP 系统中,大量连接和数据被标准化;然而,在 OLAP 系统中,连接较少且非规范化。
聚合- 在 OLTP 系统中,不聚合数据,而在 OLAP 数据库中使用更多聚合。
OBIEE – 维度建模
维度建模提供了 DW 设计中使用的一组方法和概念。根据 DW 顾问 Ralph Kimball 的说法,维度建模是一种数据库设计技术,旨在支持数据仓库中的最终用户查询。它以可理解性和性能为导向。他表示,虽然面向事务的 ER 对于事务捕获非常有用,但对于最终用户交付应该避免使用。
维度建模始终使用事实和维度表。事实是可以根据事实值进行聚合和分析的数值。维度定义事实值的层次结构和描述。
尺寸表
维度表存储描述事实表中对象的属性。维度表具有唯一标识每个维度行的主键。该键用于将维度表关联到事实表。
维度表通常是非规范化的,因为它们不是为了执行事务而创建的,仅用于详细分析数据。
例子
在下面的维度表中,客户维度通常包括客户姓名、地址、客户id、性别、收入群体、教育程度等。
客户ID | 姓名 | 性别 | 收入 | 教育 | 宗教 |
---|---|---|---|---|---|
1 | 布赖恩·埃奇 | 中号 | 2 | 3 | 4 |
2 | 弗莱德·史密斯 | 中号 | 3 | 5 | 1 |
3 | 莎莉·琼斯 | F | 1 | 7 | 3 |
事实表
事实表包含称为测量的数值。事实表有两种类型的列 - 事实和维度表的外键。
事实表中的度量分为三种类型 -
添加剂- 可以在任何维度上添加的措施。
非相加- 无法在任何维度上相加的度量。
半加法- 可以在某些维度上添加的度量。
例子
时间ID | 产品编号 | 客户ID | 已售单位 |
---|---|---|---|
4 | 17 号 | 2 | 1 |
8 | 21 | 3 | 2 |
8 | 4 | 1 | 1 |
该事实表包含时间维度、产品维度、客户维度和销售测量值单位的外键。
假设一家公司向客户销售产品。每一次销售都是公司内部发生的一个事实,事实表就是用来记录这些事实的。
常见的事实是 - 销售数量、利润、销售收入等。维度表列出了我们要分析数据的因素,如客户、时间、产品等。
现在,如果我们考虑上面的事实表和客户维度,那么还会有产品和时间维度。给定这个事实表和这三个维度表,我们可以提出这样的问题:2010 年有多少块手表卖给了男性顾客?
维度和事实表之间的差异
维度表和事实表之间的功能差异在于,事实表保存我们想要分析的数据,而维度表保存允许我们查询数据所需的信息。
汇总表
聚合表包含聚合数据,可以使用不同的聚合函数计算这些数据。
聚合函数是一种函数,其中多行的值按照特定标准分组在一起作为输入,以形成具有更重要意义或度量的单个值。
常见的聚合函数包括 -
- 平均的()
- 数数()
- 最大限度()
- 中位数()
- 最低限度()
- 模式()
- 和()
这些聚合表用于性能优化,以在数据仓库中运行复杂的查询。
例子
您保存具有聚合数据的表,例如每年(1 行)、季度(4 行)、每月(12 行),现在您必须对数据进行比较,例如每年仅处理 1 行。但是,在未聚合的表中,将处理所有行。
最小 | 返回给定列中的最小值 |
最大限度 | 返回给定列中的最大值 |
和 | 返回给定列中数值的总和 |
平均电压 | 返回给定列的平均值 |
数数 | 返回给定列中值的总数 |
数数 (*) | 返回表中的行数 |
选择职位=“开发人员”的员工的平均(工资)。该语句将返回所有头衔等于“开发人员”的员工的平均工资。
聚合可以应用于数据库级别。您可以创建聚合并将它们保存在数据库的聚合表中,也可以在报表级别动态应用聚合。
注意- 如果在数据库级别保存聚合,则可以节省时间并提供性能优化。
OBIEE – 架构
Schema是整个数据库的逻辑描述。它包括所有类型记录的名称和描述,包括所有关联的数据项和聚合。与数据库非常相似,DW 也需要维护模式。数据库使用关系模型,而DW使用星型、Snowflake型和事实星座模式(银河模式)。
星型模式
在星型模式中,存在多个非规范化形式的维度表,这些维度表仅连接到一个事实表。这些表以逻辑方式连接以满足某些业务分析需求。这些架构是多维结构,用于使用 BI 报告工具创建报告。
星型模式中的维度包含一组属性,事实表包含所有维度和测量值的外键。
在上面的星型模式中,中心有一个事实表“Sales Fact”,并使用主键连接到 4 个维度表。维度表没有进一步规范化,这种表连接在 DW 中称为星型模式。
事实表还包含度量值 -dollar_sold 和units_sold。
Snowflake模式
在Snowflake模式中,有多个标准化形式的维度表,它们仅连接到一个事实表。这些表以逻辑方式连接以满足某些业务分析需求。
星型模式和Snowflake模式之间的唯一区别是维度表进一步规范化。规范化将数据拆分到其他表中。由于Snowflake模式的规范化,减少了数据冗余而不会丢失任何信息,因此变得易于维护并节省存储空间。
在上面的Snowflake模式示例中,产品和客户表被进一步规范化以节省存储空间。有时,当您执行需要直接处理规范化表中的行的查询时,它还会提供性能优化,因此它不会处理主维度表中的行,而是直接进入架构中的规范化表。
粒度
表中的粒度表示表中存储的信息的级别。数据的高粒度意味着数据处于或接近事务级别,具有更多的细节。低粒度意味着数据的信息量低。
事实表通常是在低粒度级别设计的。这意味着我们需要找到事实表中可以存储的最低级别的信息。在日期维度中,粒度级别可以是年、月、季度、期间、周和日。
定义粒度的过程包括两个步骤 -
- 确定要包含的尺寸。
- 确定各维度信息层次结构的放置位置。
缓慢变化的维度
缓慢变化的维度是指属性值随着时间的推移而变化。是DW中常用的概念之一。
例子
Andy 是 XYZ Inc. 的员工。他于 2015 年 7 月首次来到纽约市。员工查找表中的原始条目有以下记录 -
员工ID | 10001 |
---|---|
姓名 | 安迪 |
地点 | 纽约 |
后来,他搬到了加利福尼亚州洛杉矶。XYZ Inc. 现在应该如何修改其员工表以反映此更改?
这就是所谓的“缓慢变化的维度”概念。
有三种方法可以解决此类问题 -
解决方案1
新记录取代原始记录。没有任何旧记录的痕迹。
缓慢变化的维度,新的信息只是覆盖了原来的信息。换句话说,没有保留任何历史记录。
员工ID | 10001 |
---|---|
姓名 | 安迪 |
地点 | 加利福尼亚州洛杉矶 |
好处- 这是处理缓慢变化维度问题的最简单方法,因为不需要跟踪旧信息。
缺点- 所有历史信息都会丢失。
使用- 当 DW 不需要跟踪历史信息时,应使用解决方案 1。
解决方案2
一条新记录将输入到“员工”维度表中。因此,员工安迪被视为两个人。
一条新记录将添加到表中以表示新信息,并且原始记录和新记录都会出现。新记录有自己的主键,如下所示 -
员工ID | 10001 | 10002 |
---|---|---|
姓名 | 安迪 | 安迪 |
地点 | 纽约 | 加利福尼亚州洛杉矶 |
好处- 这种方法允许我们存储所有历史信息。
缺点- 表的大小增长得更快。当表的行数非常多时,表的空间和性能可能会成为一个问题。
使用- 当 DW 需要保留历史数据时,应使用解决方案 2。
解决方案3
修改“员工”维度中的原始记录以反映更改。
将有两列指示特定属性,一列指示原始值,另一列指示新值。还有一列指示当前值何时变为活动状态。
员工ID | 姓名 | 原地点 | 新地点 | 搬家日期 |
---|---|---|---|---|
10001 | 安迪 | 纽约 | 加利福尼亚州洛杉矶 | 2015年7月 |
优点- 这不会增加表的大小,因为新信息已更新。这使我们能够保留历史信息。
缺点- 当属性值多次更改时,此方法不会保留所有历史记录。
使用- 仅当 DW 需要保留历史更改信息时才应使用解决方案 3。
正常化
规范化是将表分解为冗余较少的较小表而不丢失任何信息的过程。因此,数据库规范化是组织数据库的属性和表以最小化数据冗余(重复数据)的过程。
标准化的目的
它用于消除某些类型的数据(冗余/复制)以提高一致性。
它通过以简化的形式保存与对象类型相对应的表,提供了最大的灵活性,以满足未来的信息需求。
它产生更清晰、可读的数据模型。
优点
- 数据的完整性。
- 增强数据一致性。
- 减少数据冗余和所需空间。
- 降低更新成本。
- 响应临时查询的最大灵活性。
- 减少每个块的总行数。
缺点
数据库查询性能缓慢,因为必须执行联接才能从多个标准化表中检索相关数据。
您必须了解数据模型才能在多个表之间执行正确的联接。
例子
在上面的示例中,绿色块内的表表示红色块内的表的标准化表。绿色块中的表冗余较少,行数也较少,而不会丢失任何信息。
OBIEE – 基础知识
OBIEE 代表Oracle Business Intelligence Enterprise Edition,是由 Oracle 公司提供的一套商业智能工具。它使用户能够提供强大的报告、即席查询和分析、OLAP、仪表板和记分卡功能,以及丰富的最终用户体验,包括可视化、协作、警报和更多选项。
关键点
OBIEE 提供强大的报告,使业务用户更容易访问数据。
OBIEE 提供了一个通用基础设施,用于生成和交付企业报告、记分卡、仪表板、即席分析和 OLAP 分析。
OBIEE 通过与现有 IT 基础设施集成的、经过验证的基于 Web 的面向服务的架构来降低成本。
OBIEE 使用户能够包含丰富的可视化、交互式仪表板、大量动画图表选项、OLAP 式交互、创新搜索和可操作的协作功能,以提高用户采用率。这些功能使您的组织能够做出更好的决策、采取明智的行动并实施更高效的业务流程。
市场竞争对手
OBIEE 的主要竞争对手是 Microsoft BI 工具、SAP AG Business Objects、IBM Cognos 和 SAS Institute Inc。
由于 OBIEE 使用户能够创建交互式仪表板、强大的报告、动画图表,并且由于其成本效益,它被许多公司广泛用作商业智能解决方案的主要工具之一。
欧比的优势
OBIEE 提供了各种类型的可视化效果,可插入仪表板中以使其更具交互性。它允许您为最终用户创建快速报告、报告模板和临时报告。它提供与主要数据源的紧密集成,还可以与 Microsoft 等第三方供应商集成,将数据嵌入到 PowerPoint 演示文稿和 Word 文档中。
以下是 OBIEE 工具的主要功能和优点 -
特征 | OBIEE 的主要优势 |
---|---|
交互式仪表板 | 提供具有丰富可视化效果的完全交互式仪表板和报告 |
自助交互式报告 | 使业务用户能够从头开始创建新分析或修改现有分析,而无需 IT 人员的任何帮助 |
企业报告 | 允许创建高度格式化的模板、报告和文档,例如快速报告、支票等 |
主动检测和警报 | 提供强大、近乎实时、多步骤的警报引擎,可以根据业务事件触发工作流程,并通过利益相关者首选的媒介和渠道通知他们 |
可行的情报 | 通过提供从商业智能仪表板和报告中调用业务流程的能力,将见解转化为行动 |
微软办公集成 | 使用户能够将最新的公司数据嵌入到 Microsoft PowerPoint、Word 和 Excel 文档中 |
通过基于地图的可视化实现空间智能 | 允许用户使用地图可视化其分析数据,将空间可视化的直观性带入商业智能世界 |
如何登录 OBIEE?
要登录 OBIEE,您可以使用 Web URL、用户名和密码。
登录 Oracle BI 企业版 -
步骤 1 - 在 Web 浏览器地址栏中输入 URL 以访问 OBIEE。
将显示“登录页面”。
步骤 2 - 输入您的用户名和密码 → 选择语言(您可以通过在“我的帐户”对话框“首选项”选项卡的“用户界面语言”字段中选择另一种语言来更改语言)→ 单击“登录”选项卡。
它将根据配置将您带到下一页:OBIEE 主页(如下图所示)或“我的仪表板”页面/个人仪表板或特定于您的工作角色的仪表板。
OBIEE – 组件
OBIEE组件主要分为两类组件 -
- 服务器组件
- 客户端组件
服务器组件负责运行 OBIEE 系统,客户端组件与用户交互以创建报告和仪表板。
服务器组件
以下是服务器组件 -
- Oracle BI (OBIEE) 服务器
- Oracle 演示服务器
- 应用服务器
- 调度程序
- 集群控制器
Oracle 商业智能服务器
该组件是OBIEE系统的核心,负责与其他组件进行通信。它生成报告请求的查询并将它们发送到数据库执行。
它还负责管理向用户呈现的用于生成报告的存储库组件、处理安全机制、多用户环境等。
OBIEE 演示服务器
它通过浏览器接收用户的请求,并将所有请求传递到 OBIEE 服务器。
OBIEE 应用服务器
OBIEE 应用程序服务器有助于处理客户端组件,Oracle 提供带有 OBIEE 套件的 Oracle10g 应用程序服务器。
OBIEE 调度程序
它负责安排 OBIEE 存储库中的作业。创建存储库时,OBIEE 还会在存储库中创建一个表,用于保存所有与计划相关的信息。在 11g 中运行代理程序也必须使用此组件。
作业管理器可以监控调度程序调度的所有作业。
客户端组件
以下是一些客户端组件 -
基于 Web 的 OBIEE 客户端
OBIEE 基于网络的客户端提供以下工具 -
- 交互式仪表板
- 甲骨文交付
- 商业智能出版商
- BI 演示服务管理员
- 答案
- 断开连接的分析
- 微软办公插件
非基于 Web 的客户端
在非基于 Web 的客户端中,以下是关键组件 -
OBIEE Administration - 用于构建存储库并具有三层 - 物理层、业务层和演示层。
ODBC 客户端- 用于连接到数据库并执行 SQL 命令。
OBIEE——建筑
OBIEE 架构涉及处理最终用户请求所需的各种 BI 系统组件。
OBIEE系统实际上是如何运作的?
来自最终用户的初始请求被发送到演示服务器。表示服务器将此请求转换为逻辑 SQL 并将其转发到 BI 服务器组件。BI 服务器将其转换为物理 SQL 并将其发送到数据库以获得所需的结果。该结果通过相同的方式呈现给最终用户。
下图显示了详细的 OBIEE 架构 -
OBIEE 架构包含 Java 和非 Java 组件。Java 组件是Web Logic Server 组件,非Java 组件称为Oracle BI 系统组件。
网络逻辑服务器
OBIEE系统的这一部分包含管理服务器和受管服务器。管理服务器负责管理受管服务器的启动和停止进程。托管服务器包括 BI Plugin、Security、Publisher、SOA、BI Office 等。
节点管理器
节点管理器触发自动启动、停止、重新启动活动,并为管理和受管服务器提供流程管理活动。
Oracle 流程管理器和通知服务器 (OPMN)
OPMN用于启动和停止BI系统的所有组件。它由融合中间件控制器管理和控制。
Oracle BI 系统组件
这些是 OBIEE 系统中的非 Java 组件。
Oracle 商业智能服务器
这是Oracle BI系统的核心,负责提供数据和查询访问功能。
BI 演示服务器
它负责将最终用户请求的数据从 BI 服务器呈现给 Web 客户端。
调度程序
该组件提供 BI 系统中的调度功能,并且它有自己的调度程序来调度 OBIEE 系统中的作业。
Oracle BI Java 主机
它负责使 BI 演示服务器能够支持 BI Scheduler、Publisher 和图形的各种 Java 任务。
BI集群控制器
这用于负载平衡目的,以确保负载均匀分配给所有 BI 服务器进程。
OBIEE – 存储库
OBIEE 存储库包含 BI Server 的所有元数据,并通过管理工具进行管理。它用于存储有关应用程序环境的信息,例如 -
- 数据建模
- 聚合导航
- 缓存
- 安全
- 连接信息
- SQL信息
BI 服务器可以访问多个存储库。可以使用以下路径访问 OBIEE 存储库 -
BI_ORACLE_HOME/server/Repository -> Oracle 10g ORACLE_INSTANCE/bifoundation/OracleBIServerComponent/coreapplication_obisn/-> Oracle 11g
OBIEE 存储库数据库因其文件扩展名也称为 RPD。RPD 文件受密码保护,您只能使用 Oracle BI 管理工具打开或创建 RPD 文件。要部署 OBIEE 应用程序,必须将 RPD 文件上传到 Oracle Enterprise Manager。上传 RPD 后,必须将 RPD 密码输入到 Enterprise Manager 中。
使用管理工具设计 OBIEE 存储库
这是一个三层流程 - 从物理层(架构设计)、业务模型层、表示层开始。
创建物理层
以下是创建物理层所涉及的常见步骤 -
- 在维度表和事实表之间创建物理连接。
- 如果需要,更改物理层中的名称。
存储库的物理层包含有关数据源的信息。要在物理层创建架构,您需要从数据库和其他数据源导入元数据。
注- OBIEE 中的物理层支持单个存储库中的多个数据源 - 即来自 2 个不同数据源的数据集可以在 OBIEE 中执行。
创建一个新的存储库
转到开始 → 程序 → Oracle Business Intelligence → BI 管理 → 管理工具 → 文件 → 新建存储库。
将打开一个新窗口→输入存储库名称→位置(它告诉存储库目录的默认位置)→导入元数据选择单选按钮→输入密码→单击下一步。
选择连接类型 → 输入数据源名称以及连接数据源的用户名和密码 → 单击下一步。
接受您要导入的元类型 → 您可以选择表、键、外键、系统表、同义词、别名、视图等。 → 单击“下一步”。
单击下一步后,您将看到数据源视图和存储库视图。展开架构名称并使用“导入所选”按钮选择要添加到存储库的表 → 单击“下一步”。
连接池窗口打开 → 单击确定 → 导入窗口 → 完成打开存储库,如下图所示。
展开数据源 → 架构名称以查看新存储库中物理层中导入的表列表。
验证物理层下表中的连接和行数
转到工具→更新所有行计数→完成后,您可以将光标移动到表上,也可以移动到各个列。要查看表的数据,请右键单击表名称→查看数据。
在存储库中创建别名
建议您在物理层经常使用表别名以消除额外的连接。右键单击表名称并选择“新建对象”→“别名”。
创建表的别名后,它会显示在存储库中的同一物理层下。
在存储库设计中创建主键和联接
物理连接
当您在 OBIEE 系统中创建存储库时,物理层通常使用物理连接。物理连接有助于理解两个表应如何相互连接。物理连接通常使用 Equal 运算符来表示。
您还可以在 BMM 层使用物理连接,但是很少见。在 BMM 层中使用物理连接的目的是覆盖物理层中的物理连接。与物理层中的物理连接相比,它允许用户定义更复杂的连接逻辑,因此它的工作方式类似于物理层中的复杂连接。因此,如果我们在物理层使用复杂联接来应用更多联接条件,则无需再次在 BMM 层使用物理联接。
在上面的快照中,您可以看到两个表名称之间的物理连接 - 产品和销售。物理联接表达式告诉表应如何相互联接,如快照中所示。
始终建议尽可能在物理层使用物理连接并在 BMM 层使用复杂连接,以保持存储库设计简单。仅当实际需要不同的连接时,才在 BMM 层使用物理连接。
现在,要在设计存储库时连接表,请选择物理层中的所有表→右键单击→物理图→仅选定对象选项,或者您也可以使用顶部的物理图按钮。
将出现如下图所示的物理图框,其中添加了所有表名称。选择顶部的新外键,然后选择要连接的 Dim 和 Fact 表。
物理层外键
物理层的外键用于定义两个表之间的主键-外键关系。当您在物理图中创建它时,您必须首先指向维度,然后指向事实表。
注意- 当您将表从架构导入 RPD 物理层时,您还可以选择 KEY 和 FOREIGN KEY 以及表数据,然后自动定义主键-外键连接,但从性能角度来看不建议这样做。
您首先单击的表,它会创建一对一或一对多关系,将第一个表中的列与第二个表中的外键列连接起来→单击“确定”。连接将在两个表之间的物理图框中可见。连接表后,使用“X”选项关闭物理图框。
要保存新的存储库,请转到“文件”→“保存”或单击顶部的“保存”按钮。
创建存储库的业务模型和映射层
它定义了对象的业务或逻辑模型以及它们在物理层中业务模型和Schema之间的映射。它简化了物理模式并将用户业务需求映射到物理表。
OBIEE 系统管理工具的业务模型和映射层可以包含一个或多个业务模型对象。业务模型对象定义业务模型定义以及业务模型从逻辑表到物理表的映射。
以下是构建存储库的业务模型和映射层的步骤 -
- 创建商业模式
- 检查逻辑连接
- 检查逻辑列
- 检查逻辑表源
- 手动重命名逻辑表对象
- 使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
- 创建度量(聚合)
创建商业模式
右键单击业务模型和映射空间 → 新业务模型。
输入业务模型的名称 → 单击“确定”。
在物理层中,选择所有要添加到业务模型中的表/别名表,并将其拖至业务模型中。您还可以一张一张地添加表格。如果同时拖动所有表,它将保留它们之间的键和连接。
另请注意维度表和事实表图标的差异。最后一个表是事实表,前 3 个表是维度表。
现在右键单击业务模型→选择业务模型图→整个图→同时拖动所有表,以便保留所有连接和键。现在双击任何连接以打开逻辑连接框。
BMM 中的逻辑连接和复杂连接
该层中的连接是逻辑连接。它不显示表达式并告诉表之间的连接类型。它帮助 Oracle BI 服务器了解业务模型各个部分之间的关系。当您向 Oracle BI 服务器发送查询时,服务器通过检查逻辑模型的结构来确定如何构建物理查询。
单击“确定”→ 单击“X”关闭业务模型图。
要检查逻辑列和逻辑表源,请首先在 BMM 中展开表下的列。当您从物理层拖动所有表时,会为每个表创建逻辑列。检查逻辑表源 → 展开每个表下的源文件夹,它指向物理层的表。
双击逻辑表源(不是逻辑表),打开逻辑表源对话框→常规选项卡→重命名逻辑表源。逻辑表到物理表的映射是在“映射到这些表”选项下定义的。
接下来,列映射选项卡定义逻辑列到物理列的映射。如果未显示映射,请选中选项 → 显示映射列。
复杂连接
没有像 OBIEE 11g 中那样的特定显式复杂连接。它只存在于Oracle 10g中。
转至管理 → 联接 → 操作 → 新建 → 复杂联接。
当 BMM 层使用复杂连接时,它们充当占位符。它们允许 OBI 服务器决定事实和维度逻辑表源之间的最佳连接以满足请求。
手动重命名逻辑对象
要手动重命名逻辑表对象,请单击 BMM 中逻辑表下的列名称。您还可以右键单击列名称并选择选项重命名,以重命名对象。
这称为重命名对象的手动方法。
使用重命名向导重命名对象
转至工具 → 实用程序 → 重命名向导 → 执行以打开重命名向导。
在“选择对象”屏幕中,单击“业务模型和映射”。它将显示业务模型名称→展开业务模型名称→展开逻辑表。
使用 Shift 键选择要重命名的逻辑表下的所有列 → 单击“添加”。同样,添加所有其他逻辑 Dim 和 Fact 表中的列 → 单击“下一步”。
它显示添加到向导的所有逻辑列/表 → 单击“下一步”打开“规则”屏幕 → 从列表中添加规则以重命名,例如:A;; 文本小写并将每个出现的“_”更改为空格,如以下快照所示。
单击下一步 → 完成。现在,如果展开业务模型中逻辑表下的对象名称和物理层中的对象,则 BMM 下的对象将根据需要重命名。
删除不需要的逻辑对象
在BMM层展开逻辑表→选择需要删除的对象→右键→删除→是。
创建度量(聚合)
双击逻辑事实表中的列名称 → 转到“聚合”选项卡,然后从下拉列表中选择“聚合”函数 → 单击“确定”。
度量表示可加的数据,例如总收入或总量。单击顶部的保存选项来保存存储库。
创建存储库的表示层
右键单击演示区域→新建主题区域→在常规选项卡中输入主题区域的名称(推荐类似于业务模型)→单击确定。
创建主题区域后,右键单击主题区域→新建演示文稿表→输入演示文稿表的名称→单击确定(添加演示文稿表的数量等于报告中所需参数的数量)。
现在,要在演示表格下创建列→选择BMM中逻辑表下的对象并将其拖动到主题区域下的演示表格(使用Ctrl键选择多个对象进行拖动)。重复该过程并将逻辑列添加到其余的表示表中。
重命名和重新排序表示层中的对象
您可以通过双击主题区域下的逻辑对象来重命名表示表中的对象。
在“常规”选项卡中→取消选中复选框“使用逻辑列名称”→编辑名称字段→单击“确定”。
同样,您可以重命名表示层中的所有对象,而无需更改它们在 BMM 层中的名称。
要对表中的列进行排序,请双击“演示”→“列”下的表名称→使用向上和向下箭头更改顺序→单击“确定”。
同样,您可以更改演示区域下所有演示表格中的对象顺序。转到文件 → 单击保存以保存存储库。
检查一致性并加载存储库以进行查询分析
转到文件 → 检查全局一致性 → 您将收到以下消息 → 单击是。
单击确定后 → BMM 下的业务模型将更改为绿色 → 单击保存存储库,无需再次检查全局一致性。
禁用缓存
为了提高查询性能,建议禁用 BI 服务器缓存选项。
打开浏览器并输入以下 URL 以打开 Fusion Middleware Control Enterprise Manager:http://<计算机名称>:7001/em
输入用户名和密码,然后单击“登录”。
在左侧,展开商业智能 → 核心应用程序 → 容量管理选项卡 → 性能。
默认情况下,启用 BI 服务器缓存部分处于选中状态 → 单击“锁定并编辑配置”→ 单击“关闭”。
现在取消选择启用缓存选项→它用于提高查询性能→应用→激活更改→成功完成。
加载存储库
转到“部署”选项卡 → 存储库 → 锁定和编辑配置 → 成功完成。
单击上传 BI 服务器存储库部分 → 浏览打开选择文件对话框 → 选择存储库 .rpd 文件,然后单击打开 → 输入存储库密码 → 应用 → 激活更改。
激活更改 → 成功完成 → 单击屏幕顶部的重新启动以应用最近的更改选项 → 单击是。
存储库已成功创建并加载用于查询分析。
OBIEE——业务层
业务层定义了对象的业务或逻辑模型以及它们在物理层中业务模型和Schema之间的映射。它简化了物理模式并将用户业务需求映射到物理表。
OBIEE 系统管理工具的业务模型和映射层可以包含一个或多个业务模型对象。业务模型对象定义业务模型定义以及业务模型从逻辑表到物理表的映射。
业务模型用于简化模式结构,并将用户的业务需求映射到物理数据源。它涉及在业务模型中创建逻辑表和列。每个逻辑表可以有一个或多个物理对象作为源。
逻辑表有两类:事实表和维度表。逻辑事实表包含进行分析的度量,逻辑维度表包含有关架构中的度量和对象的信息。
使用 OBIEE 管理工具创建新存储库时,定义物理层后,创建连接并识别外键。下一步是创建业务模型并映射存储库的 BMM 层。
定义业务层涉及的步骤 -
- 创建商业模式
- 检查逻辑连接
- 检查逻辑列
- 检查逻辑表源
- 手动重命名逻辑表对象
- 使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
- 创建度量(聚合)
在存储库中创建业务层
要在存储库中创建业务层,请右键单击→新建业务模型→输入业务模型的名称,然后单击确定。如果需要,您还可以添加此业务模型的描述。
BMM层逻辑表和对象
OBIEE 存储库中的逻辑表存在于业务模型和映射 BMM 层中。业务模型图应至少包含两个逻辑表,并且您需要定义它们之间的关系。
每个逻辑表应具有一个或多个逻辑列以及一个或多个与其关联的逻辑表源。您还可以更改逻辑表名称、对逻辑表中的对象重新排序以及使用主键和外键定义逻辑联接。
在BMM层下创建逻辑表
在 BMM 层中有两种创建逻辑表/对象的方法 -
第一种方法是将物理表拖到业务模型中,这是定义逻辑表的最快方法。当您将表从物理层拖到 BMM 层时,它还会自动保留连接和键。如果您愿意,可以更改逻辑表中的联接和键,这不会影响物理层中的对象。
选择要添加到业务模型层的物理层下的物理表/别名表,并将这些表拖到 BMM 层下。
这些表称为逻辑表,列在业务模型和映射层中称为逻辑对象。
第二种方法是手动创建逻辑表。在“业务模型和映射”层中,右键单击业务模型→选择“新建对象”→“逻辑表”→出现“逻辑表”对话框。
转到“常规”选项卡→ 输入逻辑表的名称→ 输入表的描述→ 单击“确定”。
创建逻辑列
当您将表从物理层拖到业务模型层时,BMM 层中的逻辑列会自动创建。
如果逻辑列是主键,则该列将显示有键图标。如果该列具有聚合函数,则会显示 sigma 图标。您还可以对业务模型和映射层中的逻辑列进行重新排序。
创建逻辑列
在BMM层中,右键单击逻辑表→选择新建对象→逻辑列→将出现逻辑列对话框,单击常规选项卡。
输入逻辑列的名称。业务模型和逻辑表的名称出现在列名称正下方的“属于表”字段中 → 单击“确定”。
您还可以在逻辑列上应用聚合。单击聚合选项卡 → 从下拉列表中选择聚合规则 → 单击确定。
在列上应用聚合函数后,逻辑列图标将更改为显示聚合规则已应用。
您还可以移动或复制表中的逻辑列 -
在BMM图层中,您可以选择多个列进行移动。在“移动列的来源”对话框的“操作”区域中,选择一个操作。如果选择“忽略”,则表的“源”文件夹中不会添加任何逻辑源。
如果单击“新建”,将在“源”文件夹中创建带有逻辑列的逻辑源的副本。如果从下拉列表中选择使用现有选项,则必须从表的源文件夹中选择逻辑源。
创建逻辑复杂连接/逻辑外键
BMM 层中的逻辑表使用逻辑连接相互连接。基数是逻辑连接中关键的定义参数之一。基数关系一对多意味着第一个逻辑维表中的每一行在第二个逻辑表中都有0、1、多行。
自动创建逻辑连接的条件
当您将物理层的所有表拖到业务模型层时,Repository 中会自动创建逻辑联接。这种情况很少发生,仅在简单的业务模型中。
当逻辑连接与物理连接相同时,它们会自动创建。BMM 层中的逻辑连接通过两种方式创建 -
- 业务模型图(在设计存储库时已涵盖)
- 加盟经理
BMM 层中的逻辑联接不能使用要在其上创建联接的表达式或列来指定,就像物理层中显示定义物理联接的表达式和列名称一样。
使用连接管理器工具创建逻辑连接/逻辑外键
首先让我们看看如何使用 Join Manager 创建逻辑外键。
在管理工具工具栏中,转至管理 → 联接。将出现“连接管理器”对话框 → 转至“操作”选项卡 → 新建 → 逻辑外键。
现在,在浏览对话框中,双击表 → 出现逻辑外键对话框 → 输入外键名称 → 从对话框的表下拉列表中,选择外键引用的表 → 选择左表中外键引用的列 → 选择右表中组成外键列的列 → 从类型下拉列表中选择联接类型。要打开表达式生成器,请单击表达式窗格右侧的按钮 → 表达式显示在表达式窗格中 → 单击确定保存工作。
使用连接管理器创建逻辑复杂连接
与使用逻辑外键相比,建议在业务模型和映射层中使用逻辑复杂连接。
在管理工具工具栏中,转到管理 → 联接 → 出现联接管理器对话框 → 转到操作 → 单击新建 → 逻辑复杂联接。
它将打开一个逻辑连接对话框 → 输入复杂连接的名称 → 在对话框左侧和右侧的表下拉列表中,选择复杂连接引用的表 → 从“连接类型”中选择连接类型键入下拉列表 → 单击“确定”。
注意- 您还可以从下拉列表中将表定义为驱动表。当表太大时,用于性能优化。如果表大小很小,小于 1000 行,则不应将其定义为驱动表,因为它可能会导致性能下降。
维度和层次结构级别
逻辑维度存在于 OBIEE 存储库的 BMM 和表示层中。使用层次结构创建逻辑维度允许您定义随维度变化的聚合规则。它还在分析和仪表板中的图表和表格上提供向下钻取选项,并定义聚合源的内容。
创建具有层次结构级别的逻辑维度
在离线模式下打开存储库 → 转到文件 → 打开 → 离线 → 选择存储库 .rpd 文件,然后单击打开 → 输入存储库密码 → 单击确定。
下一步是创建逻辑维度和逻辑级别。
右键单击 BMM 层中的业务模型名称→新建对象→逻辑维度→具有基于级别的层次结构的维度。它将打开对话框→输入名称→单击“确定”。
要创建逻辑级别,请右键单击逻辑维度 → 新建对象 → 逻辑级别。
输入逻辑级别的名称示例:Product_Name
如果该级别为总计级别,则选中该复选框,系统将默认将该级别的元素数量设置为 1 → 单击“确定”。
如果您希望逻辑级别汇总到其父级,请选中支持汇总到父级元素复选框 → 单击确定。
如果逻辑级别不是总计级别并且不汇总,则不要选择任何复选框 → 单击“确定”。
父子层次结构
您还可以按照以下步骤在逻辑级别添加父子层次结构 -
要定义子逻辑级别,请在“浏览”对话框中单击“添加”,选择子逻辑级别,然后单击“确定”。
您还可以右键单击逻辑级别→新建对象→子级别。
输入儿童级别的名称 → 确定。您可以根据要求重复此操作,为所有逻辑列添加多个子级别。您还可以以类似的方式添加时间和区域层次结构。
现在要将表的逻辑列添加到逻辑级别 → 选择 BMM 层中的逻辑列并将其拖动到要映射到的逻辑级别子名称。同样,您可以拖动逻辑表的所有列来创建父子层次结构。
创建子级别时,可以通过双击逻辑级别来检查它,并显示在该级别的子级别列表下。您可以使用此框顶部的“+”或“X”选项添加或删除子级别。
将计算添加到事实表
双击逻辑事实表中的列名称 → 转到聚合选项卡并从下拉列表中选择聚合函数 → 单击确定。
度量表示可加的数据,例如总收入或总数量。单击顶部的保存选项以保存存储库。
可以使用多种聚合函数,例如 Sum、Average、Count、Max、Min 等。
OBIEE——表示层
表示层用于向用户提供BMM层业务模型的定制视图。主题区域用于 Oracle BI 表示服务提供的表示层。
您可以通过多种方式在表示层中创建主题区域。最常见、最简单的方法是将 BMM 层中的业务模型拖到表示层,然后根据需求进行更改。
您可以在表示层中移动列、删除或添加列,以便您可以以用户不应该看到对他们没有意义的列的方式进行更改。
在表示层中创建主题区域/表示目录和表示表
右键单击演示区域→新建主题区域→在常规选项卡中输入主题区域的名称(推荐类似于业务模型)→单击确定。
创建主题区域后,右键单击主题区域→新建演示文稿表→在常规选项卡中,输入演示文稿表名称→确定(添加演示文稿表的数量等于报告中所需参数的数量)。
单击权限选项卡 → 权限对话框,您可以在其中为表分配用户或组权限。
删除演示表
在表示层中,右键单击主题区域 → 表示目录对话框,单击表示表选项卡 → 转到表示表选项卡,选择一个表并单击删除。
出现一条确认消息 → 单击“是”删除该表,或单击“否”将表保留在目录中 → 单击“确定”。
移动演示桌
右键单击主题区域进入演示表格选项卡 → 在名称列表中,选择要重新排序的表格 → 使用拖放重新定位表格,或者您也可以使用向上和向下按钮重新排序表。
演示表下的演示列
表示列的名称通常与业务模型和映射层中的逻辑列名称相同。但是,您也可以通过取消选中“显示列”对话框中的“使用逻辑列名称”和“显示自定义名称”来输入不同的名称。
创建演示栏
在表示表下创建列的最简单方法是从 BMM 层的逻辑表中拖动列。
选择BMM中逻辑表下的对象,将其拖至主题区域下的演示表中(使用Ctrl键选择多个对象进行拖动)。重复该过程并将逻辑列添加到其余的表示表中。
创建一个新的演示栏 -
右键单击表示层中的表示表 → 新建表示列。
出现“演示栏”对话框。要使用逻辑列的名称,请选中“使用逻辑列”复选框。
要指定不同的名称,请取消选中“使用逻辑列”复选框,然后键入该列的名称。
为用户或组分配权限