Obiee 简明教程
OBIEE – Data Warehouse
在当今竞争激烈的市场中,大多数成功的公司都迅速对市场变化和机遇做出反应。快速响应的要求是有效和高效地使用数据和信息。 “Data Warehouse” 是按类别组织的一个数据中心存储库,以支持组织决策者。一旦数据存储在数据仓库中,就可以对其进行分析。
术语“数据仓库”一词最早是由比尔·因蒙于 1990 年发明。据他说,“数据仓库是一个面向主题、集成、随时间变化和非易失的数据集合,以支持管理决策制定过程”。
拉尔夫·金博尔根据其功能提供了对数据仓库的定义。他说,“数据仓库是交易数据的一个副本,专门用于查询和分析”。
数据仓库(DW 或 DWH)是一个用于分析数据和报告目的的系统。它们是存储库,可保存来自一个或多个异构数据源的数据。它们存储当前数据和历史数据,并用于创建分析报告。DW 可用于为高级管理人员创建交互式仪表盘。
例如,分析报告可以包含按季度或按年比较公司的销售报告的数据。
数据仓库中的数据来自多个运营系统,如销售、人力资源、营销、仓库管理等。它包含了来自不同交易系统中的历史数据,但也可以包含来自其他来源的数据。数据仓库用于将数据处理和分析工作负载从交易工作负载中分离出来,并能够整合来自多个数据源的数据。
The Need for Data Warehouse
例如,您有一个住房贷款机构,其中数据来自多个 SAP/非 SAP 应用程序,如营销、销售、ERP、人力资源管理等。这些数据被提取、转换并加载到数据仓库中。如果您必须对产品进行季度/年度销售比较,则不能使用运营数据库,因为这会使交易系统挂起。这就是对使用数据仓库有需求的地方。
Characteristics of a Data Warehouse
数据仓库的一些主要特征包括:
-
它用于报告和数据分析。
-
它提供了一个数据存储库,其中数据来自一个或多个来源。
-
它存储当前和历史数据。
Data Warehouse vs. Transactional System
以下是数据仓库和运营数据库(交易系统)之间的几个区别:
-
交易系统是为已知工作负载和交易设计的,例如更新用户记录、搜索记录等。但是,数据仓库交易更加复杂,并且呈现一般形式的数据。
-
交易系统包含组织的当前数据,而数据仓库通常包含历史数据。
-
交易系统支持多个交易的并行处理。需要并发控制和恢复机制来维护数据库的一致性。
-
操作数据库查询允许读取和修改操作(删除和更新),而 OLAP 查询只需要对存储数据的只读访问(select 语句)。
-
数据仓库涉及数据清理、数据集成和数据整合。
数据仓库具有三层架构:数据源层、集成层和表示层。下图显示了数据仓库系统的通用架构。
Types of Data Warehouse System
以下是数据仓库系统类型:
-
Data Mart
-
Online Analytical Processing (OLAP)
-
Online Transaction Processing (OLTP)
-
Predictive Analysis
Data Mart
数据市集是数据仓库最简单的形式,它通常着重于一个功能领域,如销售、财务或营销。因此,数据市集通常仅从少数数据源获取数据。
在此系统中,源头可以是内部事务系统、中央数据仓库或外部数据源应用程序。非规范化是此系统中数据建模技术的法则。
OBIEE – Dimensional Modeling
维度建模提供了一组方法和概念,用于 DW 设计。根据 DW 顾问 Ralph Kimball 的说法,维度建模是一种数据库设计技术,旨在支持数据仓库中的最终用户查询。它以可理解性和性能为导向。他认为,虽然面向事务的 ER 对于事务捕获非常有用,但在最终用户交付中应避免这种情况。
维度建模始终使用事实表和维度表。事实是可以在事实值上汇总和分析的数值。维度定义层次结构和对事实值的描述。
Dimension Table
维度表存储描述事实表中对象的属性。维度表具有唯一标识每个维度行的主键。此键用于将维度表与事实表关联。
维度表通常是非规范化的,因为它们不是为了执行事务而创建的,而仅仅用于对数据进行详细分析。
Fact Tables
事实表包含被称为度量的数值。事实表具有两种类型的列 - 事实和维度表的外国键。
事实表中的度量分为三种类型:
-
Additive − 可以跨任何维度相加的度量。
-
Non-Additive − 无法跨任何维度相加的度量。
-
Semi-Additive − 可以跨某些维度相加的度量。
Aggregate Table
聚合表包含可通过使用不同的聚合函数计算的聚合数据。
aggregate function 是一个函数,在该函数中,多行值按特定条件合并为一个输入,以形成更重要意义或测量值的单个值。
常见的聚合函数包括 −
-
Average()
-
Count()
-
Maximum()
-
Median()
-
Minimum()
-
Mode()
-
Sum()
这些聚合表用于性能优化,以在数据仓库中运行复杂查询。
Example
您将聚合数据(如年(1 行)、季度(4 行)、月(12 行))保存到表中,现在您必须对数据进行比较,例如,每年只处理 1 行。然而,在未聚合表格中,所有行都将被处理。
MIN |
返回给定列中的最小值 |
MAX |
返回给定列中的最大值 |
SUM |
返回给定列中数值的总和 |
AVG |
返回给定列的平均值 |
COUNT |
返回给定列中的总值 |
COUNT (*) |
返回表中的行数 |
从 where title = ‘developer’ 的 employee 中选择 Avg (salary)。此语句将返回所有职称为“Developer”的员工的平均工资。
可在数据库级别应用聚合。您可以在数据库中创建聚合并将它们保存在聚合表中,也可以在报告级别动态地应用聚合。
Note − 如果在数据库级别保存聚合,它将节省时间并提供性能优化。
OBIEE – Schema
架构是整个数据库的逻辑描述。它包括所有类型记录的名称和描述,包括所有关联数据项和聚合。与数据库非常相似,DW 也需要维护一个模式。数据库使用关系模型,而 DW 使用星型、雪花和事实星座模式(银河模式)。
Star Schema
在星型模式中,有多个非规范化形式的维度表,它们仅连接到一个事实表。这些表以逻辑方式连接,以满足分析目的的一些业务要求。这些架构是使用 BI 报告工具创建报告的多维结构。
星型架构中的维度包含一组属性,而事实表包含所有维度和度量值的外键。
在以上星型模式中,有一个位于中心的“销售事实”事实表,并使用主键连接到 4 个维度表。维度表没有进一步规范化,并且这些表的连接在 DW 中被称为星型模式。
事实表还包含度量值 - dollar_sold 和 units_sold。
Snowflakes Schema
在雪花模式中,有多个规范化形式的维度表,它们仅连接到一个事实表。这些表以逻辑方式连接,以满足分析目的的一些业务要求。
星型架构和雪花架构之间的唯一区别在于维度表进一步规范化。规范化将数据拆分为其他表。由于雪花架构中的规范化,数据冗余会减少而不会丢失任何信息,因此易于维护并节省存储空间。
在上面的雪花架构示例中,产品和客户表被进一步规范化以节省存储空间。有时,在您执行直接在规范化表中处理行的查询时,它还可以提供性能优化,因此它不会在主维度表中处理行,而是直接进入架构中的规范化表。
Granularity
表中的粒度表示表中存储的信息级别。数据的高粒度意味着数据处于事务级别或接近事务级别,这更加详细。低粒度意味着数据的信息级别较低。
事实表通常设计为低粒度。这意味着我们需要找到可以存储在事实表中的最低信息级别。在日期维度中,粒度级别可以是年、月、季度、期间、周和日。
定义粒度这一过程包含两步 −
-
确定要包含的维度。
-
确定信息中每个维度层级所在位置。
Slowly Changing Dimensions
缓慢变化维度指的是某个属性值随着时间的变化。这是数据仓库中的一个常见概念。
Example
Andy是XYZ公司的一名员工。他最早于2015年7月在纽约市工作。员工查找表中关于他的原始条目包含以下记录 −
Employee ID |
10001 |
Name |
Andy |
Location |
New York |
在某个时间,他已搬迁至加州洛杉矶。XYZ公司现在该如何修改其员工表以反映这种改变?
这就是“缓慢变化维度”概念。
有三种解决方法可以解决此类问题 −
Solution 1
新记录替换原始记录。旧记录不可追溯。
缓慢变化维度,新信息直接覆盖原始信息。换言之,不会保留历史。
Employee ID |
10001 |
Name |
Andy |
Location |
LA, California |
-
Benefit − 这是处理缓慢变化维度问题最简单的方法,因为它无需对旧信息进行跟踪。
-
Disadvantage − 所有历史信息都将丢失。
-
Use − 当数据仓库不需要记录历史信息时,此方法应得到采用。
Solution 2
在新员工维度表中录入一条新记录。在这种方法中,员工Andy将被视为两人。
向表中添加一条新记录以表示新信息,原始记录和新记录将同时存在。新记录将获得自己的主键,如下所示 −
Employee ID |
10001 |
10002 |
Name |
Andy |
Andy |
Location |
New York |
LA, California |
-
Benefit − 此方法使我们能够存储所有历史信息。
-
Disadvantage − 表的大小增加速度更快。当表中行数非常多时,表的空间和性能可能会引起担忧。
-
Use − 当数据仓库需要保留历史数据时,此方法应得到采用。
Solution 3
修改员工维度表中的原始记录以反映变化。
将有两列表示特定属性,一列表示原始值,另一列表示新值。此外还将有一列指出当前值何时生效。
Employee ID |
Name |
Original Location |
New Location |
Date Moved |
10001 |
Andy |
New York |
LA, California |
July 2015 |
-
Benefits − 这不会增加表的大小,因为信息在更新。这让我们得以保留历史信息。
-
Disadvantage − 当某个属性值修改次数超过一次时,此方法不会保留所有历史记录。
-
Use − 仅在需要数据仓库保留历史更改信息时才应使用解决方案 3。
Normalization
规范化是将表分解成冗余度较小的更小表的过程,而不会丢失任何信息。所以数据库规范化是组织数据库的属性和表的过程,以最大程度地减少数据冗余(重复数据)。
Purpose of Normalization
-
它用于消除某些类型的数据(冗余/复制),以提高一致性。
-
通过将与对象类型相对应表保留在简化形式中,它提供了最大的灵活性来满足未来的信息需求。
-
它生成更清晰且可读的数据模型。
OBIEE – Basics
OBIEE 代表 Oracle Business Intelligence Enterprise Edition ,一组商业智能工具,由 Oracle Corporation 提供。它使用户能够通过丰富的终端用户体验(包括可视化、协作、提醒和更多选项)提供一组强大的报告、即席查询和分析、OLAP、仪表盘和记分卡功能。
Key Points
-
OBIEE 提供强大的报告功能,让业务用户更容易访问数据。
-
OBIEE 提供一个用于制作和提供企业报告、记分卡、仪表盘、即席分析和 OLAP 分析的通用基础架构。
-
OBIEE 利用经过验证的基于 Web 的面向服务的架构降低成本,该架构与现有的 IT 基础架构集成在一起。
-
OBIEE 使用户能够包含丰富的可视化、交互式仪表盘、广泛的动画图表选项、OLAP 风格的交互、创新搜索和可操作的协作功能,以提高用户采用率。这些功能让您的组织能够做出更好的决策,采取知情行动,并实施更有效的业务流程。
Competitors in the Market
OBIEE 的主要竞争对手有:Microsoft BI 工具、SAP AG Business Objects、IBM Cognos 以及 SAS Institute Inc.
由于 OBIEE 能使用户创建交互式仪表板、健壮的报告和动画图表,而且还因为它具有成本效益,所以许多公司广泛地将它用作商业智能解决方案的主要工具之一。
Advantages of OBIEE
OBIEE 提供了各种类型的可视化功能,可以将它们插入到仪表板中,以便提高交互性。它允许你为最终用户创建 flash 报告、报告模板和即席报告。它提供了与主要数据源的紧密集成,而且还可以与 Microsoft 等第三方供应商集成,从而将数据嵌入到 PowerPoint 演示文稿和 Word 文档中。
以下是 OBIEE 工具的主要特性和优点:
Features |
Key Benefits of OBIEE |
Interactive Dashboards |
提供功能丰富的各类可视化的完全交互式仪表板和报告 |
Self-serve Interactive Reporting |
使业务用户能够从头开始创建新分析或在无需 IT 帮助的情况下修改现有分析 |
Enterprise Reporting |
允许创建高度格式化的模板、报告和文档,例如 flash 报告、支票等 |
Proactive Detection and Alerts |
提供一个强大的、近乎实时的、多步警报引擎,它能够根据业务事件触发工作流,并通过偏好的媒介和渠道通知利益相关者 |
Actionable Intelligence |
通过提供从业务智能仪表板和报告内调用业务流程的功能,将洞察转化为行动 |
Microsoft Office Integration |
使用户能够将最新企业数据嵌入到 Microsoft PowerPoint、Word 和 Excel 文档中 |
通过基于地图的可视化实现空间情报 |
允许用户使用地图可视化其分析数据,从而将空间可视化的直观性带到商业智能领域 |
OBIEE – Components
OBIEE 组件主要分为两类:
-
Server Components
-
Client Components
服务器组件负责运行 OBIEE 系统,客户组件与用户交互以创建报告和仪表盘。
Server Components
以下为服务器组件:
-
Oracle BI (OBIEE) Server
-
Oracle Presentation Server
-
Application Server
-
Scheduler
-
Cluster Controller
OBIEE – Architecture
OBIEE 体系结构包含各种 BI 系统组件,这些组件对于处理最终用户的请求是必不可少的。
How OBIEE System Actually Works?
最终用户发出的初始请求被发送至演示服务器。演示服务器将该请求转换为逻辑 SQL,并将其转发给 BI 服务器组件。BI 服务器将其转换为物理 SQL,并将其发送至数据库以获取所需的结果。此结果通过相同方式呈现给最终用户。
以下图表详细展示了 OBIEE 体系结构:
OBIEE 体系结构包含 Java 和非 Java 组件。Java 组件是 Web Logic Server 组件,非 Java 组件称为 Oracle BI 系统组件。
Web Logic Server
OBIEE 系统的部分包含管理服务器和托管服务器。管理服务器负责管理托管服务器的启动和停止进程。托管服务器由 BI 插件、安全性、发布者、SOA、BI Office 等组成。
OBIEE – Repositories
OBIEE 存储库包含 BI 服务器的所有元数据,并通过管理工具进行管理。用于存储有关应用程序环境的信息,例如:
-
Data Modeling
-
Aggregate Navigation
-
Caching
-
Security
-
Connectivity Information
-
SQL Information
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。
Designing an OBIEE Repository using Administration Tool
这是一个三层过程,从物理层(模式设计)、业务模型层和表示层开始。
Creating the Physical Layer
以下是创建物理层涉及的常见步骤:
-
在维度表和事实表之间创建物理连接。
-
如果需要,请更改物理层中的名称。
存储库的物理层包含有关数据源的信息。若要在物理层中创建模式,你需要从数据库和其他数据源导入元数据。
Note - OBIEE 中的物理层支持单个存储库中的多个数据源,即可以在 OBIEE 中执行来自两个不同数据源的数据集。
Create a New Repository
转到开始 → 程序 → Oracle Business Intelligence → BI 管理 → 管理工具 → 文件 → 新存储库。
将打开一个新窗口 → 输入存储库名称 → 位置(它指示存储库目录的默认位置)→ 要导入元数据,选择单选按钮 → 输入密码 → 单击下一步。
选择连接类型 → 输入数据源名称、用户名和密码,以连接到数据源 → 单击下一步。
接受您要导入的元类型 → 您可以选择数据表、主键、外键、系统数据表、同义词、别名、视图等 → 单击“下一步”。
单击“下一步”后,您将看到“数据源视图”和“存储库视图”。展开架构名称并选择要使用“导入所选项”按钮添加到存储库的表 → 单击“下一步”。
连接池窗口打开 → 单击“确定”→ 导入窗口 → 完成以打开存储库,如下面的图片所示。
展開“資料來源”→“架構名稱”,查看在新的儲存庫中“實體化層”中匯入的資料表清單。
Create Primary Keys and Joins in Repository Design
Physical Joins
當您在 OBIEE 系統中建立儲存庫時,實體化聯結通常用於實體化層中。實體化聯結有助於了解應如何將兩個資料表聯結在一起。實體化聯結通常使用“等於”運算子來表達。
您也可以在 BMM 層中使用實體化聯結,但這種情況很少見。在 BMM 層中使用實體化聯結的目的,是為了覆寫實體化層中的實體化聯結。它允許使用者定義比實體化層中的實體化聯結更複雜的聯結邏輯,所以它的運作方式類似於實體化層中的複合聯結。因此,如果我們在實體化層中使用複合聯結來套用更多的聯結條件,則無需在 BMM 層中再次使用實體化聯結。
在上面的擷取畫面中,您可以在兩個資料表名稱(「產品」和「銷售」)之間看到實體化聯結。實體化聯結表達式告訴我們,資料表應如何彼此聯結,如下面的擷取畫面所示。
極力建議在實體化層中使用實體化聯結,並盡可能在 BMM 層中使用複合聯結,以保持儲存庫設計的簡潔。只有在實際需要不同的聯結時,才在 BMM 層中使用實體化聯結。
現在,要在設計儲存庫時聯結資料表,請選取實體化層中的所有資料表 → 按一下滑鼠右鍵 → 實體化圖 → 僅針對選取的物件的選項,您也可以使用頂端的「實體化圖」按鈕。
如以下圖片所示,會出現實體化圖框,並加入所有資料表名稱。選取頂端的「新增外鍵」,並選取要聯結的維度資料表和事實資料表。
Foreign Key in Physical Layer
實體化層中的外鍵用於定義兩個資料表之間的主要鍵值 - 外鍵值關係。在實體化圖中建立時,您必須先指派維度,然後再指派事實資料表。
Note − 從架構匯入資料表到 RPD 實體化層時,您也可以在資料表資料中選擇 KEY 和 FOREIGN KEY,然後主要鍵值 - 外鍵值聯結會自動進行定義,但從效能的角度來看,不建議這麼做。
您先按一下的資料表,會建立將第一個資料表中的欄位聯結到第二個資料表中的外鍵欄位的「一對一」或「一對多」關係 → 按一下“確定”。兩個資料表之間的聯結會在實體化圖框中顯示。資料表聯結完成後,使用「X」選項關閉實體化圖框。
如要儲存新的儲存庫,請移至「檔案」→「儲存」,或按一下頂端的「儲存」按鈕。
Creating Business Model and Mapping Layer of a Repository
它定義了物件的業務或邏輯模型,以及業務模型與實體化層中架構之間的對應關係。它簡化了實體化架構,並將使用者的業務需求對應到實體化資料表。
OBIEE 系統管理工具的「業務模型和對應關係」層可能包含一個或多個業務模型物件。業務模型物件定義了業務模型定義,以及業務模型中從邏輯資料表到實體化資料表的對應關係。
构建存储库的业务模型和映射层步骤如下 −
-
Create a business model
-
Examine logical joins
-
Examine logical columns
-
Examine logical table sources
-
手动重命名逻辑表对象
-
使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
-
Creating measures (Aggregations)
Logical and Complex Joins in BMM
此层中的联接是逻辑联接。它不显示表达式,并告知表之间的联接类型。它有助于 Oracle BI 服务器了解业务模型各个部分之间的关系。当您向 Oracle BI 服务器发送查询时,服务器通过检查逻辑模型的结构来确定如何构造物理查询。
单击“确定”→ 单击“X”关闭业务模型关系图。
要检查逻辑列和逻辑表来源,请首先展开 BMM 表下的列。当您从物理层拖动所有表时,会为每个表创建逻辑列。要检查逻辑表来源 → 展开每个表下的源文件夹,并将其指向物理层中的表。
双击逻辑表来源(不是逻辑表)以打开逻辑表来源对话框 → 常规选项卡 → 重命名逻辑表来源。逻辑表到物理表的映射在“映射到这些表”选项下定义。
接下来,列映射选项卡定义逻辑列到物理列的映射。如果未显示映射,请选中该选项 → 显示已映射列。
Complex Joins
没有像 OBIEE 11g 中的显式复杂联接。它仅存在于 Oracle 10g 中。
依次转到管理 → 联接 → 操作 → 新建 → 复杂联接。
当复杂联接用于 BMM 层时,它们充当占位符。它们允许 OBI 服务器决定为满足请求的事实和维度逻辑表源之间的最佳联接。
Rename Logical Objects Manually
要手动重命名逻辑表对象,请单击 BMM 中逻辑表下的列名称。您也可以右键单击列名称,然后选择重命名选项来重命名对象。
这被称为手动重命名对象的方法。
Rename Objects Using the Rename Wizard
依次转到工具 → 实用工具 → 重命名向导 → 执行,以打开重命名向导。
在“选择对象”屏幕中,单击“业务模型和映射”。它将显示业务模型名称 → 展开业务模型名称 → 展开逻辑表。
使用 Shift 键选中逻辑表下的所有列进行重命名 → 单击添加。类似地,从所有其他逻辑 Dim 和 Fact 表中添加列 → 单击下一步。
- It shows all logical columns/tables added to wizard → Click Next to open Rules screen → Add rules from the list to rename like : A
-
text lower case and change each occurrence of ‘_’ to space as shown in the following snapshot.
单击下一步 → 完成。现在,如果您展开业务模型中逻辑表下的对象名称和物理层中的对象,那么 BMM 下的对象将根据需要重命名。
Creating the Presentation Layer of a Repository
右键单击显示区域 → 新建主题域 → 在“常规”选项卡中输入主题域名称(建议与业务模型类似)→ 单击确定。
创建主题域后,右键单击主题域 → 新建显示表 → 输入显示表名称 → 单击确定(添加与报表中必需的参数数量相等的显示表数量)。
现在,要在显示表下创建列 → 选择 BMM 中逻辑表下的对象,并将它们拖动到主题域下的显示表(使用 Ctrl 键选择多个对象进行拖动)。重复此过程,并将逻辑列添加到其余的显示表中。
Rename and Reorder Objects in Presentation Layer
您可以通过双击主题域下的逻辑对象对显示表中的对象进行重命名。
在“常规”选项卡中 → 取消选中“使用逻辑列名称”复选框 → 编辑名称字段 → 单击确定。
类似地,您可以重命名显示层中的所有对象,而不更改其在 BMM 层中的名称。
若要对表中的列进行排序,请双击显示 → 列下的表名称 → 使用向上和向下箭头更改顺序 → 单击确定。
类似地,您可以更改显示区域下所有显示表中的对象顺序。转到文件 → 单击保存以保存信息库。
Check Consistency and Load the Repository for Query Analysis
转到文件 → 检查全局一致性 → 您将收到以下消息 → 单击是。
单击确定后 → BMM 下的业务模型将变为绿色 → 单击保存信息库,而不再次检查全局一致性。
Disable Caching
为了提高查询性能,建议禁用 BI 服务器缓存选项。
打开浏览器并输入以下 URL 以打开 Fusion Middleware Control Enterprise Manager:[role="bare"] [role="bare"]http://<machine name>:7001/em
输入用户名和密码,然后单击登录。
在左侧,展开业务智能 → coreapplication → 容量管理选项卡 → 性能。
启用 BI 服务器缓存部分默认处于选中状态 → 单击锁定并编辑配置 → 单击关闭。
现在取消选择启用缓存选项 → 用来提高查询性能 → 应用 → 激活更改 → 成功完成。
OBIEE – Business Layer
业务层定义了对象及其在业务模型和物理层中与架构之间的映射的业务或逻辑模型。它简化了物理架构,并将用户业务需求映射到物理表。
OBIEE 系统管理工具的业务模型和映射层可以包含一个或多个业务模型对象。业务模型对象定义了业务模型定义以及对业务模型的逻辑表到物理表的映射。
业务模型用于简化架构结构并将用户的业务需求映射到物理数据源。它涉及在业务模型中创建逻辑表和列。每个逻辑表可以有一个或多个物理对象作为来源。
逻辑表有两个类别——事实和维度。逻辑事实表包含要进行分析的度量,而逻辑维度表包含架构中度量和对象的信息。
在使用 OBIEE 管理工具创建新存储库时,在定义物理层后,创建连接并识别外键。下一步是创建存储库的业务模型和映射 BMM 层。
定义业务层涉及的步骤——
-
Create a business model
-
Examine logical joins
-
Examine logical columns
-
Examine logical table sources
-
手动重命名逻辑表对象
-
使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
-
Creating measures (Aggregations)
Create Business Layer in the Repository
要在存储库中创建业务层,请右键单击 → 新业务模型 → 输入业务模型名称并单击确定。您还可以根据需要添加该业务模型的描述。
Logical Tables and Objects in BMM Layer
OBIEE 存储库中的逻辑表存在于业务模型和映射 BMM 层中。业务模型图应至少包含两个逻辑表,并且需要在它们之间定义关系。
每个逻辑表应有一个或多个逻辑列和一个或多个与之关联的逻辑表来源。您还可以更改逻辑表名称、重新排列逻辑表中的对象并使用主键和外键定义逻辑连接。
Create Logical Tables Under BMM Layer
在 BMM 层创建逻辑表/对象有两种方法——
First method 将物理表拖动到业务模型中,这是定义逻辑表的最快方式。当您将表从物理层拖动到 BMM 层时,它还会自动保留连接和键。如果您愿意,可以更改逻辑表中的连接和键,它不会影响物理层中的对象。
选择物理层下要添加到业务模型层中的物理表/别名表,并将这些表拖至 BMM 层下。
这些表称为逻辑表,列在业务模型和映射层中称为逻辑对象。
Second method 是手动创建逻辑表。在业务模型和映射层中,右键单击业务模型 → 选择新建对象 → 逻辑表 → 逻辑表对话框将出现。
转至常规选项卡 → 为逻辑表输入名称 → 输入表的描述 → 单击确定。
Create Logical Columns
当您从物理层将表拖动到业务模型层时,BMM 层中的逻辑列将自动创建。
如果逻辑列是主键,则此列将显示为密钥图标。如果该列具有聚合函数,则它将显示为西格玛图标。您还可以在业务模型和映射层中重新排序逻辑列。
Create a Logical Column
在 BMM 层中,右键单击逻辑表 → 选择新建对象 → 逻辑列 → 逻辑列对话框将出现,单击常规选项卡。
为逻辑列输入一个名称。业务模型和逻辑表名称将显示在列名称正下方的“属于表”字段中 → 单击确定。
您还可以对逻辑列应用聚合。单击聚合选项卡 → 从下拉列表中选择聚合规则 → 单击确定。
在列上应用聚合函数后,将更改逻辑列图标以显示已应用聚合规则。
您还可以在表中移动或复制逻辑列 -
在 BMM 层中,您可以选择要移动的多个列。在移动列的来源对话框中,在操作区域中,选择一项操作。如果您选择忽略,则不会在表的来源文件夹中添加任何逻辑来源。
如果您单击新建,则将在来源文件夹中创建包含逻辑列的逻辑来源副本。如果您从下拉列表中选择使用现有选项,则必须从表的来源文件夹中选择一个逻辑来源。
Create Logical Complex Joins / Logical Foreign Keys
BMM 层中的逻辑表使用逻辑连接相互连接。基数是逻辑连接中的关键定义参数之一。基数关系一对多意味着在第一个逻辑维度表中的每一行中,在第二个逻辑表中都有 0、1 或多行。
Conditions to Create Logical Joins Automatically
将物理层的所有表拖到业务模型层时,将在信息库中自动创建逻辑连接。这种情况下很少发生,仅在简单的业务模型中发生。
当逻辑连接与物理连接相同是,它们会自动创建。BMM 层中的逻辑连接以两种方式创建 -
-
业务模型图(已在设计信息库时介绍)
-
Joins Manager
无法使用 BMM 层中的逻辑连接指定表达式或列来创建连接,就像在显示定义物理连接的表达式和列名的物理层中一样。
Create Logical Joins/Logical Foreign keys Using Join Manager Tool
首先让我们了解如何使用连接管理器创建逻辑外键。
在管理工具栏中,转到管理 → 连接。连接管理器对话框将出现 → 转到操作选项卡 → 新建 → 逻辑外键。
现在在浏览对话框中,双击一个表 → 将出现逻辑外键对话框 → 输入外键名称 → 从对话框的下拉表列表中,选择外键引用的表 → 选择外键引用的左表中的列 → 选择构成外键列的右表中的列 → 从类型下拉列表中选择连接类型。要打开表达式生成器,单击表达式窗格右侧的按钮 → 表达式显示在表达式窗格中 → 单击确定保存工作。
Create a Logical Complex Join using Join Manager
与使用逻辑外键相比,在业务模型和映射层中推荐逻辑复合连接。
在管理工具栏中,转到管理 → 连接 → 连接管理器对话框出现 → 转到操作 → 单击新建 → 逻辑复合连接。
它将打开一个逻辑连接对话框 → 为复合连接键入名称 → 在对话框的左侧和右侧的下拉表列表中,选择复合连接引用的表 → 从类型下拉列表中选择连接类型 → 单击确定。
Note − 您还可以从下拉列表中将一个表定义为驱动表。当表大小过大时,这用于性能优化。如果表大小很小,少于 1000 行,则不应将其定义为驱动表,因为它可能导致性能下降。
Dimensions and Hierarchical Levels
逻辑维度存在于 OBIEE 存储库的 BMM 和展示层中。创建具有层次结构的逻辑维度使您能够定义随维度变化的聚合规则。它还提供了分析和仪表板中图表和表格的向下钻取选项,并定义了聚合源的内容。
Create logical dimension with Hierarchical level
以脱机模式打开存储库 → 转到文件 → 打开 → 脱机 → 选择存储库 .rpd 文件并单击打开 → 输入存储库密码 → 单击确定。
下一步是创建逻辑维度和逻辑级别。
右键单击 BMM 层中的业务模型名称 → 新对象 → 逻辑维度 → 具有基于级别层次结构的维度。它将打开对话框 → 输入名称 → 单击确定。
要创建逻辑级别,请右键单击逻辑维度 → 新对象 → 逻辑级别。
输入逻辑级别的名称,例如:Product_Name
如果此级别是总计级别,则选中该复选框,系统将默认将此级别的元素数设置为 1 → 单击确定。
如果希望逻辑级别向上汇总到其父级,则选中支持汇总到父元素复选框 → 单击确定。
如果逻辑级别不是总计级别,并且不向上汇总,则不选中任何复选框 → 单击确定。
Parent-Child Hierarchies
您还可以通过以下步骤在逻辑级别中添加父子层次结构:
要定义子逻辑级别,请单击浏览对话框中的添加,选择子逻辑级别,然后单击确定。
您还可以右键单击逻辑级别 → 新对象 → 子级别。
输入子级别的名称 → 确定。您可以重复此操作来根据要求为所有逻辑列添加多个子级别。您还可以以类似的方式添加时间和区域层次结构。
现在把表格的逻辑列添加到逻辑层级→选择 BMM 层中的逻辑列,并将其拖放到要映射到的逻辑子级名称。同样,您可以拖动逻辑表的所有列来创建父级-子级层级。
当您创建子级时,可以通过双击逻辑层级进行检查,并且该层级显示在该层级的子级列表下。您可以使用这个框顶部的“+”或“X”选项添加或删除子级。
OBIEE – Presentation Layer
表示层用于向用户提供业务模型层(BMM 层)业务模型的自定义视图。主题领域使用 Oracle BI 表示服务提供的表示层。
可以在表示层创建主题领域的方式有很多。最常见、最简单的方法是将 BMM 层中的业务模型拖动到表示层,然后根据需求对其进行更改。
您可以在表示层移动列、删除列或添加列,以便您可以按某种方式进行更改,用户看不到对他们毫无意义的列。
Create Subject Areas/Presentation Catalogues and Presentation Tables in Presentation Layer
右键单击表示区域 → 新建主题域 → 在常规选项卡中输入主题域的名称(建议与业务模型类似)→ 单击确定。
创建主题区域后,右键单击主题区域 → 新演示表 → 在常规选项卡中,输入演示表的名称 → 确定(添加演示表数量等于报告所需的参量数量)。
单击权限选项卡 → 权限对话框,您可以在其中将用户或组权限分配给表。
Delete a Presentation Table
在演示层中,右键单击主题区域 → 演示目录对话框,单击演示表选项卡 → 转到演示表选项卡,选择一个表并单击移除。
出现确认消息 → 单击“是”以删除表或“否”在目录中留下表 → 单击“确定”。
Presentation Columns Under Presentation Table
演示列的名称通常与业务模型和映射层中的逻辑列名称相同。但是,您也可以取消选中演示列对话框中的使用逻辑列名称和显示自定义名称,来输入一个不同的名称。
Create Presentation Columns
在演示表下创建列的最简单方法是,从 BMM 层中的逻辑表中拖动列。
选择 BMM 中逻辑表下的对象,并将它们拖动到主题区域下的演示表(使用 Ctrl 键选择多个对象进行拖动)。重复此过程,并将逻辑列添加到剩余的演示表中。
Create a New Presentation Column −
右键单击演示层中的演示表 → 新演示列。
演示列对话框出现。要使用逻辑列的名称,选中使用逻辑列复选框。
要指定不同名称,取消选中使用逻辑列复选框,然后键入列的名称。
要将用户或组权限分配给列,请单击权限 → 在权限对话框中,分配权限 → 单击“确定”。
OBIEE – Testing Repository
您可以使用一致性检查选项来检查存储库是否有错误。完成后,下一步是将存储库加载到 Oracle BI Server 中。然后通过运行 Oracle BI 分析并验证结果来测试存储库。
转到文件→单击检查全局一致性→您将收到以下消息→单击是。
单击确定后→BMM 下的业务模型将变为绿色→单击再次保存存储库而不检查全局一致性。
Disable Caching
为了提高查询性能,建议禁用 BI 服务器缓存选项。
打开浏览器并输入以下 URL 以打开 Fusion Middleware Control Enterprise Manager:[role="bare"] [role="bare"]http://<machine name>:7001/em
输入用户名和密码。单击登录。
在左侧,展开业务智能 → coreapplication → 容量管理选项卡 → 性能。
默认情况下选中启用 BI 服务器缓存部分→单击锁定并编辑配置→关闭。
现在取消选择启用缓存选项。它用于提高查询性能。转到应用→激活更改→成功完成。
Load the Repository
转至部署选项卡 → 存储库 → 锁定并编辑配置 → 成功完成。
单击上传 BI 服务器存储库部分→浏览以打开选择文件对话框→选择存储库 .rpd 文件,然后单击打开→输入存储库密码→应用→激活更改。
激活更改→成功完成→单击顶部重新启动以应用最近更改选项→单击是。
存储库已成功创建并加载以进行查询分析。
Enable Query Logging
您可以在 OBIEE 中为各个用户设置查询日志级别。日志级别控制您将在日志文件中检索的信息。
Set Up Query Logging
打开管理工具→转到文件→打开→联机。
联机模式用于在 Oracle BI 服务器中编辑存储库。若要在联机模式下打开存储库,您的 Oracle BI 服务器应正在运行。
输入存储库密码和用户名称密码以登录,然后单击打开以打开存储库。
转到管理→身份→安全管理器窗口将打开。单击左侧的 BI 存储库,然后双击管理用户→用户对话框将打开。
在用户对话方块内单击用户选项卡,您可以在此设置记录级别。
在正常情况下 − 用户的记录级别设置为 0,管理员的记录级别设置为 2。记录级别的值介于 0 级到 5 级。0 级表示无记录,5 级表示最大记录级别信息。
Logging Level Descriptions
Level 0 |
No logging |
Level 1 |
记录从客户端应用程序发出的 SQL 语句记录查询编译、查询执行、查询缓存处理和后端数据库处理所消耗的时间记录查询状态(成功、失败、终止或超时)。记录每个查询的用户 ID、会话 ID 和请求 ID |
Level 2 |
记录在 1 级记录的全部内容另外,对于每个查询,记录数据仓库名称、业务模型名称、表示目录(在 Answer 中称为主题区域)名称、针对物理数据库发出的查询的 SQL、针对缓存发出的查询、每次针对物理数据库的查询和针对缓存发出的查询所返回的行数以及返回至客户端应用程序的行数 |
Level 3 |
记录在 2 级记录的全部内容另外,当应播种缓存的查询未插入到缓存、现有缓存条目被清除以为当前查询腾出空间以及尝试 udate 精确匹配命中检测器失败时,添加逻辑查询计划的日志条目 |
Level 4 |
记录在 3 级记录的全部内容另外,记录查询执行计划。 |
Level 5 |
记录在 4 级记录的全部内容另外,记录执行计划中各处的中间行计数。 |
To Set Logging Level
在用户对话方块中,输入记录级别的值。
单击确定后,它将打开检出对话方块。单击检出。关闭安全管理器。
转到文件 → 单击检入更改 → 使用顶部的保存选项保存数据仓库 → 采用更改 → 单击确定。
Use Query Log to Verify Queries
您可以在设置查询记录级别后通过转到 Oracle Enterprise Manager 查看查询日志,这有助于验证查询。
通过转到 Oracle Enterprise Manager OEM 检查查询日志以验证查询。
转到诊断选项卡 → 单击日志消息。
向下滚动日志消息中的底部以查看服务器、调度程序、操作服务和其他日志详细信息。单击服务器日志以打开日志消息框。
您可以选择各种筛选器 − 日期范围、消息类型及消息包含/不包含字段等,如下面的快照所示 −
单击搜索后,它将根据筛选器显示日志消息。
单击折叠按钮使您能够检查查询的所有日志消息的详细信息。
OBIEE – Multiple Logical Table Sources
当您从当前在 BMM 层中未使用的物理表中拖放一个列时,包含该列的物理表将被添加为新的逻辑表源 (LTS)。
当您在 BMM 层中使用多个表作为源表时,称为多个逻辑表源。当事实表使用不同的物理表作为源时,可以具有多个逻辑表源。
Example
使用 Gemini 将雪花模式的模式在 BMM 层转换为星型模式需要多个 LTS。
让我们假设你在物理层有两个维度 Dim_Emp 和 Dim_Dept ,还有一个事实表 FCT_Attendance 。
此处你的 Dim_Emp 被标准化为 Dim_Dept 以便实现雪花模式。所以在你的物理图表中,它类似于这样 −
Dim_Dept<------Dim_Emp <-------FCT_Attendance
当我们将这些表移至 BMM 层时,我们将会使用 2 个逻辑源(对应于 Dim_Emp 和 Dim_Dept)创建一个单一维度表 Dim_Employee。在你的 BMM 图表中,
Dim_Employee <-----------FCT_Attendance
这是可以使用 BMM 层中的多个 LTS 概念的一种方法。
OBIEE – Calculation Measures
使用计算值对逻辑表中的值进行计算。它在存储库中逻辑列的聚合选项卡中定义聚合函数。
Create New Measure
在存储库中的逻辑事实表中定义值。对其应用了聚合函数的任何列都是一个值。
常见的示例值包括 − 单价、销量等。
以下是在 OBIEE 中创建值的指南−
-
所有聚合都应从事实逻辑表而不是维度逻辑表执行。
-
所有不可以聚合的列都应在维度逻辑表而不是事实逻辑表中表达。
可以在管理工具 BMM 层的逻辑表中以两种方式定义计算值 −
-
Aggregations in logical tables.
-
逻辑表来源中的聚合。
OBIEE – Dimension Hierarchies
层次结构是由多个一对多关系组成的系列关系,可以具有不同的级别。区域层次结构包括:区域 → 国家 → 州 → 城市 → 街道。层次结构遵循自上而下或自下而上的方法。
逻辑维度或维度层次结构在 BMM 层创建。可能有两种类型的维度层次结构 −
-
Dimensions with level-based hierarchies.
-
Dimension with Parent-Child hierarchies.
在基于级别的层次结构中,成员可以是不同类型的,并且同类型的成员仅出现在单个级别中。
在父子层次结构中,所有成员都是同类型的。
Dimensions with Level-based Hierarchies
基于级别的维度层次结构还可能包含父子关系。创建基于级别的层次结构的常见顺序是从总计级别开始,然后逐步向下到较低级别。
基于级别的层次结构允许您执行 −
-
Level-based calculated measures.
-
Aggregate navigation.
-
深入到仪表板中的子级别。
每个维度只能有一个总计级别,并且没有级别键或维度属性。您可以将度量与总计级别关联,并且针对这些度量的默认聚合始终是总计。
所有较低级别都应至少有一列,并且每个维度包含一个或多个层次结构。每个较低级别还包含一个级别键,该键定义该级别的唯一值。
OBIEE – Level-Based Measures
按级别划分的指标创建用于在特定的聚合级别执行计算。它允许通过一个单一的查询返回多个聚合级别的的数据。它还允许创建共享指标。
Example
让我们说有一家名为 XYZ Electronics 的公司,该公司在其销售产品的许多区域、国家和城市中。现在,公司总裁希望看到国家级别的总收入——比区域低一级,比城市高一级。因此,总收入指标应汇总到国家级别。
这些类型的指标称为按级别划分的指标。类似地,您也可以对时间层次结构应用按级别划分的指标。
一旦创建维度层次结构,就可以通过双击逻辑表中“总收入”列并在“级别”选项卡中设置级别来创建按级别划分的指标。
Create Level-Based Measures
在脱机模式下打开存储库。转到文件 → 打开 → 脱机。
选择 .rpd 文件并单击打开 → 输入存储库密码并单击确定。
在 BMM 层中,右键单击“总收入”列 → 新对象 → 逻辑列。
它将打开逻辑列对话框。输入逻辑列名称“总收入”。转到“列源”选项卡 → 选中“使用表达式从现有列导出”。
一旦您选择此选项,表达式编辑向导将被高亮显示。在表达式生成器向导中,从左侧菜单中选择逻辑表 → 列名 → 总收入 → 单击确定。
现在转到逻辑列对话框的“级别”选项卡 → 单击逻辑维度以将其选作逻辑级别下的总计。这指定应在维度层次结构中的总计级别计算指标。
一旦您单击确定 → 总收入逻辑表将出现在逻辑维度和事实表下方。
此列可以拖到表示层中受众领域,以便最终用户生成报告。您可以从事实表或从逻辑维度中拖动此列。
OBIEE – Variables
在 OBIEE 中,通常使用两种类型的变量 −
-
Repository variables
-
Session variables
除此之外,您还可以定义演示和请求变量。
Repository Variables
存储库变量在任何时间点只有一个值。存储库变量使用 Oracle BI Administration 工具定义。存储库变量可以在表达式构建器向导中代替常量。
有两种类型的存储库变量 −
-
Static repository variables
-
Dynamic repository variables
静态存储库变量在变量对话框中定义,并且其值存在,直到管理员更改它们。
静态存储库变量包含数字或字符值,是默认初始化器。此外,您可以使用表达式构建器插入常量作为默认初始化器,例如,日期、时间等。您不能使用其他值或表达式作为静态存储库变量的默认初始化器。
在较旧的 BI 版本中,Administrator 工具没有限制静态存储库变量的值。如果您的存储库已从旧版本升级,您可能在一致性检查中收到警告。在这种情况下,请更新静态存储库变量,以便默认初始化器具有常量值。
动态存储库变量与静态变量相同,但值由查询返回的数据刷新。在定义动态存储库变量时,请创建一个初始化块或使用一个包含 SQL 查询的现有块。您还可以设置一个计划,Oracle BI 服务器将按该计划执行查询并定期刷新变量的值。
当动态存储库变量的值发生更改时,自动删除与业务模型相关的所有缓存条目。
每个查询都可以刷新多个变量:查询中每列一个变量。您可以计划由 Oracle BI 服务器执行这些查询。
动态存储库变量对于定义逻辑表源的内容很有用。例如,假设您有两个有关订单的信息源。一个源包含当前订单,另一个包含历史数据。
Create Repository Variables
在管理工具中 → 转到管理 → 选择变量 → 变量管理器 → 转到操作 → 新建 → 存储库 > 变量。
在变量对话框中,键入变量的名称(所有变量的名称应唯一) → 选择变量的类型 - 静态或动态。
如果您选择动态变量,请使用初始化块列表选择一个现有的初始化块,该块将用于持续刷新值。
要创建一个新的初始化块 → 单击新建。要添加默认初始化器值,请在默认初始化器框中键入该值,或单击表达式构建器按钮以使用表达式构建器。
对于静态存储库变量,您在默认初始化器窗口中指定的的值将保留。除非您更改它,否则它不会更改。如果您使用字符字符串初始化变量,请用单引号将字符串括起来。静态存储库变量必须具有常量值的默认初始化器 → 单击确定关闭对话框。
Session Variables
会话变量类似于动态存储库变量,它们从初始化块中获取值。当用户开始会话时,Oracle BI 服务器会创建会话变量的新实例并初始化它们。
会话变量的实例数量和 Oracle BI 服务器上的活动会话一样多。会话变量的每个实例都可以初始化为不同的值。
有两种类型的会话变量 −
-
System session variables
-
Non-system session variables
系统会话变量由 Oracle BI 和表示服务器用于特定目的。它们具有预定义的保留名称,不能被其他变量使用。
USER |
此变量保存用户使用登录名输入的值。此变量通常从用户的 LDAP 概要中填充。 |
USERGUID |
此变量包含用户的全局唯一标识符 (GUID),并且从用户的 LDAP 概要中填充。 |
GROUP |
它包含用户所属的组。当用户属于多个组时,将组名包含在同一列中,用分号分隔(示例 - GroupA;GroupB;GroupC)。如果分号必须包含在组名中,请在分号前加上反斜杠字符 (\)。 |
ROLES |
此变量包含用户所属的应用程序角色。当用户属于多个角色时,将角色名称包含在同一列中,用分号分隔(示例 - RoleA;RoleB;RoleC)。如果分号必须包含在角色名称中,请在分号前加上反斜杠字符 (\)。 |
ROLEGUIDS |
它包含用户所属的应用程序角色的 GUID。应用程序角色的 GUID 与应用程序角色名称相同。 |
PERMISSIONS |
它包含用户持有的权限。示例 - oracle.bi.server.manageRepositories。 |
非系统会话变量用于设置用户筛选器。例如,您可以定义一个名为 Sale_Region 的非系统变量,该变量将初始化为用户的销售区域名称。
Create Session Variables
在管理工具 → 转到管理 → 选择变量中。
在变量管理器对话框中,单击操作 → 新建 → 会话 → 变量。
在会话变量对话框中,输入变量名称(所有变量的名称都应该唯一,系统会话变量的名称是保留的,不能用于其他类型的变量)。
对于会话变量,您可以选择以下选项 −
-
Enable any user to set the value − 此选项用于在初始化块填充值后设置会话变量。示例 - 此选项允许非管理员为采样设置此变量。
-
Security sensitive − 当使用诸如虚拟专用数据库 (VPD) 之类的行级数据库安全策略时,此选项用于将变量标识为对安全性敏感。
您可以使用初始化块列表选项来选择一个将用于定期刷新值的初始化块。您还可以创建一个新的初始化块。
要添加默认初始化器值,请在默认初始化器框中输入值或者单击表达式构建器按钮以使用表达式构建器。单击确定以关闭对话框。
管理员可以使用 Oracle BI 管理工具创建非系统会话变量。
Presentation Variables
表示变量是通过创建仪表盘提示创建的。可以用两种类型的仪表盘提示 −
Column Prompt
使用 Prompt 列创建的 Presentation 变量与列关联,而它可以采用的值则来自列值。
要创建 Presentation 变量,请转到“新建 Prompt”对话框或“编辑 Prompt”对话框→在变量字段的“变量集”中选择“Presentation 变量”→输入变量的名称。
Variable Prompt
作为 Prompt 变量创建的 Presentation 变量与任何列都不关联,并且您需要定义它的值。
要在“新建 Prompt”对话框或“编辑 Prompt”对话框中作为 Prompt 变量的一部分创建 Presentation 变量,请转到变量字段的 Prompt → 输入变量的名称。
Presentation 变量的值由与之创建的列或变量 Prompt 填充。每次用户在列或变量 Prompt 中选择一个值时,Presentation 变量的值都将设为用户选择的值。
Initialization Blocks
初始化块用于初始化 OBIEE 变量:Dynamic Repository 变量、系统会话变量和非系统会话变量。
它包含用于初始化或刷新与该块关联的变量而执行的 SQL 语句。执行的 SQL 语句指向可以使用连接池访问的物理表。连接池在初始化块对话框中定义。
如果希望初始化块的查询具有特定于数据库的 SQL,则可以为此查询选择数据库类型。
Initialize Dynamic Repository Variables using Initialization Block
初始化块的默认初始化字符串字段用于设置 Dynamic Repository 变量的值。您还可以定义 Oracle BI 服务器用于执行查询和刷新变量值的时间表。如果将日志级别设为 2 或更高,则用于检索变量值的所有 SQL 查询的日志信息将保存在 nqquery.log 文件中。
此文件在 BI 服务器上的位置:
ORACLE_INSTANCE\diagnostics\logs\OracleBIServerComponent\coreapplication_obisn
Initialize Session Variables using Initialization Block
会话变量也从初始化块获取其值,但其值从不随时间间隔而变化。当用户开始新会话时,Oracle BI 服务器将创建会话变量的新实例。
如果在身份管理用户对象中将日志级别设为 2 或更高,或者在变量管理器中将 LOGLEVEL 系统会话变量设为 2 或更高,则 BI 服务器执行的所有 SQL 查询(用于检索会话变量信息)都会保存在 nqquery.log 文件中。
此文件在 BI 服务器上的位置:
ORACLE_INSTANCE\diagnostics\logs\OracleBIServerComponent\coreapplication_obisn
Create Initialization Blocks in Administrator Tool
转到“管理器”→“变量”→将显示“变量管理器”对话框。转到“操作”菜单→单击新建→仓库→初始化块→输入初始化块的名称。
转到“时间表”选项卡→选择开始日期和时间以及刷新间隔。
您可以为初始化块选择以下选项:
-
Disable - 如果选择此选项,则初始化块将被禁用。要启用初始化块,请在变量管理器中右键单击现有的初始化块,然后选择“启用”。此选项使您可以更改此属性,而无需打开初始化块对话框。
-
Allow deferred execution - 这允许您将初始化块的执行延迟到会话期间首次访问关联会话变量为止。
-
Required for authentication - 如果选择此项,则必须执行初始化块才能让用户登录。如果初始化块不执行,则会拒绝用户访问 Oracle BI。
OBIEE – Dashboards
OBIEE 仪表板是一个工具,它让最终用户可以按照业务需求模型运行临时报告和分析。交互式仪表板是像素级报告,最终用户可以直接查看或打印。
OBIEE 仪表板是 Oracle BI 展示层服务的一部分。如果您的最终用户不想在仪表板中看到所有数据,则可以将提示添加到仪表板,以便最终用户输入他们想要查看的内容。仪表板还允许最终用户从下拉列表、多选框和列中选择项目以在报告中显示。
Create a New Dashboard
要创建新的仪表板,请转到新建 → 仪表板,或还可以单击左侧创建下的仪表板选项。
一旦您单击仪表板,新的仪表板对话框就会打开。输入仪表板的名称和说明,然后选择您想将仪表板保存到何处 → 单击确定。
如果您将仪表板直接保存在 /Shared Folders/ 第一级子文件夹下的仪表板子文件夹中 → 仪表板将在全局页眉的仪表板菜单中列出。
如果您将其保存在任何其他级别的仪表板子文件夹(比如 /Shared Folders/Sales/Eastern)中,仪表板将不会被列出。
如果您选择仪表板子文件夹,该文件夹直接位于 /Shared Folders/ 第一级子文件夹下,且还没有保存任何仪表板,那么新的仪表板文件夹会自动为您创建。
一旦您输入上述字段,仪表板构建器会打开,如下面的快照所示 −
展开目录选项卡,选择分析以添加到仪表板,然后拖动到页面布局窗格中。保存并运行仪表板。
Edit a Dashboard
转到仪表板 → 我的仪表板 → 编辑仪表板。
要编辑仪表板。单击下面的图标 → 仪表板属性。
一个新的对话框会显示,如下面的快照所示。您可执行以下任务 −
更改样式(样式控制着仪表板和结果以供展示的格式,比如文本和链接的颜色、文本的字体和大小、表格中的边框、图形的颜色和属性,等等)。您可以添加说明。
您可以添加隐藏提示、过滤器和变量。指定与仪表板页面上的分析一起显示的链接。您可以重命名、隐藏、重新排序、设置权限和删除仪表板页面。
您还可以通过在对话框中选择页面来编辑仪表板页面属性。您可以做出以下更改 −
-
您可以更改仪表板页面的名称。
-
您可以添加隐藏提示。隐藏提示用于在仪表板页面上为所有对应的提示设置默认值。
-
您可以为仪表板添加权限,还可以删除选定页面。仪表板页面会永久删除。
-
如果该仪表板中有多个仪表板页面,则排列顺序图标使用向上和向下箭头启用。
要在仪表板级别、仪表板页面级别或分析级别设置报告链接,请单击仪表板报告链接的编辑选项。
要添加仪表板页面,请单击新建仪表板页面图标 → 输入仪表板页面名称并单击确定。
在“目录”选项卡中,您可以添加新的其他分析并将其拖动到新仪表板页面的页面布局区域。
要编辑仪表板的属性,例如单元格宽度、边框和高度,请单击列属性。您可以设置背景颜色、自动换行和其它格式化选项。
您还可以通过单击列属性中的条件选项对仪表板数据显示添加条件 −
要添加条件,请单击条件对话框中的 + 号。您可以基于分析添加条件。
选择条件数据并输入条件参数。
您还可以通过单击 + 按钮旁边的“更多”号来测试、编辑或删除条件。
OBIEE – Filters
过滤器用于限制分析运行时显示的结果,以便结果回答特定问题。基于这些过滤器,只会显示与过滤器条件中传递的条件匹配的结果。
过滤器 直接应用于属性和度量列。过滤器在查询聚合之前应用,并影响查询,从而影响度量的结果值。
例如,您有一个成员列表,其中聚合总和为 100。随着时间的推移,更多的成员满足设定的筛选条件,这将使聚合和增加到 200。
OBIEE – Views
Oracle BI Enterprise Edition 使您能够使用其演示功能以一种有意义的方式查看分析结果。可以添加不同类型的视图,例如图形和数据透视表,这些视图允许深入了解更详细的信息,以及使用过滤器等更多选项。
分析结果使用表格/数据透视表视图显示,具体取决于分析包含的列类型:
-
Table view 在分析仅包含属性列/仅包含度量列或两者的组合时使用。
-
Pivot table 是分析至少包含一个层次结构列时的默认视图。
-
title view 显示已保存分析的名称。
-
您可以编辑或删除现有视图,向分析中添加另一个视图,还可以合并视图。
OBIEE – Prompts
提示是一种特殊类型的过滤器,用于过滤嵌入在仪表盘中的分析。使用仪表盘提示的主要原因是,它允许用户自定义分析输出,还允许灵活地更改报告的参数。可以使用的三种类型的提示如下:
Named Prompts
在仪表盘级别创建的提示称为命名提示。此提示是在特定仪表盘外部创建的,并作为提示存储在目录中。你可以将命名提示应用于任何包含提示中提到的列的仪表盘或仪表盘页面。它可以过滤嵌入在同一仪表盘页面上的一个或任意数量的分析。你可以创建这些命名提示并将其保存到私有文件夹或共享文件夹。
命名提示始终显示在仪表盘页面上,用户可以提示不同的值,而无需重新运行仪表盘。命名提示还可以与选择步骤交互。你可以指定仪表盘提示以覆盖特定的选择步骤。
该步骤将针对用户使用仪表盘列提示收集的用户指定数据值处理仪表盘列,而所有其他步骤将按照原始指定进行处理。
Inline Prompts
内联提示嵌入在分析中,并且不会存储在目录中以便重复使用。内联提示提供对分析中列的一般过滤,具体取决于其配置方式。
内联提示独立于仪表盘过滤器工作,该过滤器确定仪表盘上所有匹配列的值。内联提示是初始提示。当用户选择提示值时,提示字段会从分析中消失。
若要选择不同的提示值,你需要重新运行分析。你的输入决定了嵌入在仪表盘中的分析的内容。
命名提示可以应用于任何包含提示中指定的列的仪表盘或仪表盘页面。
Column Prompts
列提示是最常见且最灵活的提示类型。列提示允许你构建非常具体的价值提示,以便独立出现在仪表盘或分析中,或扩展或细化现有的仪表盘和分析过滤器。可以在分析或仪表盘级别为层次结构、度量或属性列创建列提示。
转到“新建”→“仪表盘提示”→“选择主题区域”。
将显示仪表盘提示对话框。转到“+”号,选择提示类型。单击列提示 → 选择列 → 单击“确定”。
将出现“新建提示”对话框(仅适用于列提示)。输入将出现在仪表盘提示旁边的标签名称 → 选择运算符 → 用户输入。
在列和变量提示中,显示“用户输入”字段的下拉列表,让你可以为用户界面确定“用户输入”方法。你可以选择下列任何一项:复选框、单选按钮、选择列表或列表框。
Example - 如果你选择“用户输入”方法中的“选择列表”和“选择列表值”项,则用户将从包含数据源中所有数据值的列表中选择提示的数据值。
你还可以通过展开“选项”选项卡来进行进一步的选择。
这些系列复选框允许你限制输出中返回的数据量。一旦进行选择,请单击确定。
该提示将添加到“定义”→ 保存提示(使用右上角的保存选项)→ 输入名称 → 单击确定。
若要测试该提示,请转到“我的仪表板”→ 目录,并将提示拖至列 1。可以通过单击属性 → 范围将该提示应用于整个仪表板或单个页面。
保存并运行仪表板,选择一个为 提示选择的值。根据提示值,将应用输出值并将发生更改。
Other Prompts
Currency Prompt
币种提示使用户能够更改分析或仪表板上币种列中显示的币种类型。
Example - 假设分析以美元为单位包含了美国某个特定地区的销售总额。但是,因为查看分析的用户居住在加拿大,所以他们可以使用币种提示将销售总额从美元更改为加拿大元。
该提示的币种选择列表填充自用户的“我的帐户”对话框→“首选项”选项卡中的币种首选项。仅当管理员已配置 userpref_currencies.xml 文件时,才会提供币种提示选项。
Image Prompt
图片提示提供一张图片,用户单击图片可在分析或仪表板上选择值。
Example - 在销售组织中,用户可以单击地图图片中的区域来查看销售信息,或单击产品图片来查看有关该产品的信息。如果你知道如何使用 HTML <map> 标记,则可以创建一个图片地图定义。
Add Reports to BI Dashboard Pages
你可以将一个或多个现有报告添加到仪表板页面。这样做的好处是,你可以与其他用户共享报告,并使用代理程序安排仪表板页面。代理程序会将整个仪表板发送给用户,包括报告引用的所有数据页面。
为包含 BI Publisher 报表的仪表板页面配置代理程序时,请确保满足以下条件:
-
BI Publisher 报表的输出格式必须为 PDF。
-
代理程序必须设置为传递 PDF。
你可以以嵌入式内容或链接的形式将报表添加到仪表板页面。嵌入意味着该报表直接显示在仪表板页面上。该链接会在 Oracle BIEE 中的 BI Publisher 中打开报表。
如果你在 BI Publisher 中修改了报表并保存了更改,请刷新仪表板页面,以查看修改。导航到要向其添加报表的页面。
OBIEE – Security
OBIEE 安全性通过使用基于角色的访问控制模型来定义。它在术语中定义,这些术语与不同的目录 server groups and users 保持一致。在本章中,我们将讨论构成 security policy 所定义的组件。
可以使用以下组件定义 Security structure
-
由 Authentication provider 管理的目录 Server User and Group 。
-
由 Policy store 管理的应用程序角色提供具有以下组件的安全策略:演示目录、存储库、策略存储。
Security Providers
为了获取安全信息,调用了安全提供程序。OBIEE 使用以下类型的安全提供程序 −
-
身份验证提供程序,用于验证用户。
-
策略存储提供程序用于授予 BI 表示服务以外的所有应用程序的权限。
-
凭据存储提供程序用于存储 BI 应用程序内部使用的凭据。
Security Policy
OBIEE 的安全策略分为以下组件:
-
Presentation Catalog
-
Repository
-
Policy Store
Oracle BI Presentation Services Administration
它允许您设置用户访问诸如编辑视图和创建代理和提示等功能和特性的权限。
表示目录权限访问权限对话中定义的表示目录对象。
表示服务管理没有自己的身份验证系统,它依赖于它从 Oracle BI Server 继承的身份验证系统。所有登录表示服务的用户都可以获得已验证用户角色以及在 Fusion Middleware Control 中分配给他们的任何其他角色。
您可以通过以下任一方式分配权限:
-
To application roles − 分配权限和特权的最推荐方式。
-
To individual users − 这很难管理,其中您可以将权限和特权分配给特定用户。
-
To Catalog groups − 它在以前版本中用于向后兼容性维护。
Authentication and Authorization
Authentication
Oracle WebLogic Server 域中的用户身份验证提供程序用于用户身份验证。此身份验证提供程序访问 Oracle Business Intelligence 的 Oracle WebLogic Server 域中的 LDAP 服务器中存储的用户和组信息。
要在 LDAP 服务器中创建和管理用户和组,可以使用 Oracle WebLogic Server 管理控制台。您还可以选择为替代目录配置身份验证提供程序。在这种情况下,Oracle WebLogic Server 管理控制台使您能够查看目录中的用户和组;但是,您需要继续使用适当的工具对目录进行任何修改。
示例 - 如果将 Oracle Business Intelligence 重新配置为使用 OID,您可以在 Oracle WebLogic Server Administration Console 中查看用户和组,但您必须在 OID Console 中对其进行管理。
Authorization
完成认证后,安全的下一步是确保用户可以执行并查看他们被授权执行和查看的操作。Oracle Business Intelligence 11g 的授权由应用程序角色方面的安全策略进行管理。
Application Roles
安全通常以分配给目录服务器用户和组的应用程序角色来定义。示例:默认应用程序角色为 BIAdministrator 、 BIConsumer 和 BIAuthor 。
应用程序角色被定义为分配给用户的职能角色,它赋予该用户执行该角色所需的权限。示例:Marketing Analyst 应用程序角色可能授予用户查看、编辑和创建公司营销渠道报告的权限。
应用程序角色与目录服务器用户、组之间的这种通信允许管理员定义应用程序角色和策略,而无需在 LDAP 服务器中创建其他用户或组。应用程序角色允许商业智能系统在开发、测试和生产环境之间轻松移动。
这不需要对安全策略进行任何更改,所需要做的就是将应用程序角色分配给目标环境中的用户和组。
名为“BIConsumers”的组包含 user1、user2 和 user3。组“BIConsumers”中的用户被分配了应用程序角色“BIConsumer”,该角色使用户能够查看报告。
名为“BIAuthors”的组包含 user4 和 user5。组“BIAuthors”中的用户被分配了应用程序角色“BIAuthor”,该角色使用户能够创建报告。
名为“BIAdministrators”的组包含 user6、user7、user 8。组“BIAdministrators”中的用户被分配了应用程序角色“BIAdministrator”,该角色使用户能够管理存储库。
OBIEE – Administration
在 OBIEE 10g 中,大多数 OBIEE 管理任务都是通过管理工具、基于 Web 的演示服务器管理屏幕或编辑文件系统中的文件来执行的。大约有 700 个或更多配置选项分布在多个工具和配置文件中,并且某些选项(如用户和组)嵌入在不相关的存储库(RPD)中。
在 OBIEE 11g 中,所有管理和配置任务都移至融合中间件控制中,也称为企业管理。
在 OBIEE 10g 中存在的管理工具在 11g 中也存在,并且用于维护 BI 服务器使用的语义模型。它在维度处理和新数据源方面有一些增强。一项重大的更改是安全性 - 当您打开安全管理器对话框时:
转到管理 → 标识 → 出现安全管理器对话框。
现在在 WebLogic 服务器管理台中定义用户和应用程序角色。您使用安全管理器定义到其他 LDAP 服务器的附加链接,注册自定义验证器并设置过滤器等。在上面的屏幕截图中,用户列表中显示的用户是 WebLogic 服务器的 JPS(Java 平台安全)服务中保留的用户,RPD 本身不再有任何用户和组。
上面的快照中没有管理员用户。它具有标准管理员用户,在您安装 OBIEE 时将其设置为 WebLogic 服务器管理员,该管理员通常具有用户名 weblogic。
还有两个其他默认用户:OracleSystemUser - 各种 OBIEE Web 服务使用此用户与 BI 服务器通信,而 BISystemUser 由 BI Publisher 用作数据源来连接到 BI 服务器。
在“应用程序角色”选项卡中,您可以看到一个默认应用程序角色列表 - BISystem、BIAdministrator、BIAuthor 和 BIConsumer - 用于授予对演示服务器功能的访问权限。
Create a User in OBIEE
要创建新用户,请登录到 WebLogic 服务器管理控制台 → 从融合中间件控制菜单转到安全领域 → 选择 myrealm → 选择用户和组。单击“用户”选项卡,它将向您显示现有用户的列表。
单击“新建”。→ 打开新用户对话框 → 输入用户的详细信息。您还可以使用“组”选项卡为用户定义一个组,或将用户分配给现有组。
Configuration and Metadata Files
以下是 OBIEE 11g 中的重要文件位置:
RPD Directory
C:\Middleware\instances\instance1\bifoundation\OracleBIServerComponent\
coreapplication_obis1\repository
NQSConfig.INI
C:\Middleware\instances\instance1\config\OracleBIServerComponent\coreapplication_obis1\
nqsconfig.INI
NQClusterConfig.INI
C:\Middleware\instances\instance1\config\OracleBIApplication\coreapplication\
NQClusterConfig.INI
nqquery.log
C:\Middleware\instances\instance1\diagnostics\logs\OracleBIServerComponent\
coreapplication_obis1\nqquery.log
nqserver.log
C:\Middleware\instances\instance1\diagnostics\logs\OracleBIServerComponent\
coreapplication_obis1\nqserver.log
WebCat Directory
C:\Middleware\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\
coreapplication_obips1\catalog\
instanceconfig.xml
C:\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\
coreapplication_obips1\instanceconfig.xml
xdo.cfg
C:\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\
coreapplication_obips1\xdo.cfg
Capacity Management
我们有以下四个选项可用于容量管理 −
-
Metrics gathered via DMS.
-
所有各个系统组件均可用(允许您分别对其停止、启动和重启)。
-
可扩展性用于在集群中增加 BI 服务器、演示服务器、群集控制器和调度程序的数量,同时结合“扩展”安装选项。
-
性能选项允许您开启或关闭缓存并在响应时间修改其他相关参数。
Diagnostics − Log Messages 向您展示所有服务器错误和警告的视图。 Log Configuration 允许您限制日志的大小,并将信息包含其中。
Security − 用于启用 SSO 并选择 SSO 提供者。
Deployment − Presentation 允许您设置仪表板默认项、部分标题等。 Scheduler 用于设置调度程序模式的连接详细信息。 Marketing 用于配置 Siebel Marketing Content Server 连接。 Mail 选项用于设置服务器以发送电子邮件警报。 Repository 用于上传新的 RPD 以供 BI Server 使用。