基于 OLAP 11g 多维数据集创建交互式 APEX 报表

目的

在本教程中,您将使用 Oracle Application Express (APEX) 创建一个针对 OLAP 11g 数据运行的交互式销售分析报表。

您将了解如何查询并创建 OLAP 11g 多维数据集的分析报表,还包括已存储和已计算量度。您还将学会如何应用利用 OLAP 11g 多维数据集独特特征的查询技术。

所需时间:

大约 60 分钟

主题

本教程包括下列主题:

 概述
 情景
 前提条件
 导入并安装预定义工作区
 创建应用程序
 创建交互式销售分析报表
 格式化交互式报表
 添加下钻功能并运行报表
 添加报表重置按钮
 更多信息

查看屏幕截图

 将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

什么是 APEX?

APEX 是一个与 Oracle 数据库 11g 集成的工具,用于开发和部署基于 Web 应用程序。仅使用 Web 浏览器,您就可以快速创建一个可靠、安全且可扩展的 Web 应用程序,并且可以立即部署至数千个用户。

APEX 将个人数据库的易用性和产能与企业数据库的可用性和可扩展性相结合。APEX 向导和内置特性简化了 Web 应用程序的构建。您可以在短时间内通过少量或无需编程操作即可快速组装数据库驱动的应用程序。

诸如 APEX 的 SQL 工具如何访问 Oracle OLAP 多维数据集?

Oracle OLAP 多维数据集中的数据可以通过一系列相关视图直接由 SQL 访问。这些视图将 OLAP 多维数据集表示为带有以下特征的星型模式:

- 多维数据集视图充当事实表。

- 维视图和层级视图充当维表。

OLAP 多维数据集的星型设计与传统的基于表的星型模型非常相似。维视图像星星一样分布在一个或多个多维数据集视图的周围。然而,有两个主要区别:

- 星型模式中的事实表存储详细数据(称为叶),而多维数据集视图显示大量汇总级别的信息。

- 多维数据集中的计算简单地公开为多维数据集视图中的列,而等式计算在 OLAP 引擎中进行。

这些区别影响您查询数据的方式。通过星型查询,您需要通过将聚合函数(例如,求和)和 GROUP BY 子句的结合来聚合数据。

通过 OLAP 查询,您将只需选择希望作为列的数据(已存储或已计算的)。选择聚合数据只需通过使用“where”子句中的条件即可完成。一般情况下,聚合函数不再是必需的,因为数据已经由多维数据集汇总。这使单一、参数化的多维数据集查询可以从任何汇总级别返回数据。例如,按月、季、年选择销售收入时无需对查询进行更改。这大大简化了“drill anywhere(随地下钻)”的功能。

对于绝大多数基于多维数据集的查询来说,都有四个基本步骤:

  1. 选择量度和维属性。
  2. 加入多维数据集和维视图。
  3. 应用量度和维属性条件。
  4. 使用“All”过滤器利用筛选出来的维列的汇总。

结合使用 APEX 和 Oracle OLAP

APEX 为在任何 Oracle 数据库 11g 数据源顶部创建应用程序提供了一个灵活的环境。因此,您可以使用 APEX 针对使用 OLAP 多维数据集视图的 OLAP 11g 数据创建引人注目的、交互式的探索性报表。

因为 OLAP 11g 多维数据集封装了您数据的业务规则,所以选择和探索您需要的分析信息将非常简单。当结合使用 OLAP 多维数据集视图和 APEX 时,您可以轻松地提供交互式分析信息板。

返回主题列表

情景

在本教程中,您将通过执行下列五个任务来创建 OLAP 11g 数据的交互式分析报表:

1. 导入并安装预定义 APEX 工作区。工作区包括可以访问 olaptrain 示例模式的 APEX 开发程序。
2. 创建将包含报表的应用程序。
3. 创建包含高度程式化输出的交互式报表。
4. 向报表添加格式。
5.

利用查询参数实现在报表中跨维使用“下钻”功能探索数据。

注:OLAP 11g 支持结合使用本教程中使用下钻样式与任何类型的层次结构:基于级别、父子、跳级、不齐整等待。

当您完成后,您将拥有一个格式化且交互式的销售分析报表,用户可以通过对产品、时间和地理位置进行下钻来进行数据挖掘。结果报表将如下所示:

使用本报表,用户:

 可以对地理位置、产品和时间进行任何详细级别的下钻操作
 可能希望依照“Product Alert”列来进行下钻操作,因为该列表示了至少一种当前产品的子产品的 Sales 与上一年相比有所下降。

例如,在前面的报表中,Africa 的 2006 年 Computers 的 Sales 比上一年增长了 22.4%,但却有一个 ALERT。对 Computers 进行下钻,您将看到部门内的销售有问题。

注:用于本教程的 OLAP 数据是使用 构建 OLAP11g 多维数据集教程中的步骤来创建的。关于 OLAP 数据模型的信息和如何创建 OLAP 11g 多维数据集的分步指导,请单击链接。

返回主题列表

前提条件

开始本教程之前,您应该:

1.

安装带有 OLAP 选件的 Oracle 数据库 11g(补丁级别 11.1.0.7 或更高)。

2.

下载并安装了 OLAPTRAIN 示例模式和基于该示例模式的 OLAP 11g 数据模型。使用 安装 Oracle OLAP 11g 示例模式中的说明。

3.

可以访问 Oracle Application Express 版本 3.1.2 或更高版本。您可以从 OTN 下载并安装 Oracle Application Express

注:

在 Windows 上,Application Express 在共享服务器模式中运行 — 甚至数据库也在专用模式下进行配置。

当 Oracle 数据库在共享服务器模式下进行配置后,需要设置 Oracle 配置参数以访问 OLAP 多维数据集。否则,将生成无法加载 OLAP API 可共享库的错误。

以下是数据库使用 spfile 启动时如何更新配置参数的一个例子:

a.

用 sysdba 登录到 sqlplus。例如:

b.

执行以下 SQL 命令:

SQL> alter system set "_xsolapi_load_at_process_start"=ALWAYS scope=spfile;

c.

然后,关闭并重新启动数据库。例如:

SQL> shutdown immediate

. . .

SQL> startup

d. 退出 SQL Plus。

4.

SALESTRACK_WORKSPACE.sqlapex-olap.sql 保存到包含 APEX 的计算机上。第一个文件是用于提供对 OLAP 数据进行访问的预定义 APEX 工作区。第二个文件包含您用作交互式报表定义的一部分的预定义 OLAP 多维数据集查询。

5. 对 Oracle Application Express 有基本的了解。更多关于 APEX 的信息,请参阅以下 Oracle Application Express 上的 OBE 教程。

返回主题列表

导入并安装预定义工作区。

在本主题中,您将作为管理员登录到 APEX。然后,您将导入并安装包含 APEX 开发程序的预定义工作区。您还将创建用于提供对示例 OLAPTRAIN 模式访问的 APEX 模式。

根据这些步骤来创建交互式报表:

1.

启动您的 Web 浏览器并使用以下 URL 格式导航至 Application Express 管理员登录页面:

http://<<em>hostame>: <port#>/apex/apex_admin

注:APEX 安装完成后,端口号将由 APEX 管理员来定义。

例如:

http://localhost:8080/apex/apex_admin

2.

使用 APEX 安装时定义的管理员用户名和口令登录

3.

在 Home 页面,选择 Manage Workspaces

4.

在 Manage Workspaces 部分,选择 Import Workspace

5.

在 Import Workspace 步骤:

a.

单击 Browse

b.

在 Choose file 对话框中,导航至您保存已下载预定义工作区的位置,选择 SALESTRACK_WORKSPACE.sql,并单击 Open

c.

单击 Next

结果:工作区已导入,如下所示:

6.

接下来,单击 Install

7.

在 Install Workspace 步骤,输入 SALESTRACK 作为 Schema Name, oracle 为 Schema Password。

然后单击 Next

8.

在 Schema Assignment Status 步骤,选择顶部的复选框选项(如下所示),并单击 Next

9.

在 Install Workspace 确认窗口,单击 Install Workspace

结果:工作区导入和安装已完成:

10.

单击 Logout 链接从 APEX 管理工具注销。

返回主题列表

创建应用程序

在本主题中,您将作为开发人员登录 APEX 并访问预定义工作区。在工作区中,您将为您的交互式报表定义一个应用程序。

请按照下面的步骤进行:

1.

启动您的 Web 浏览器并使用以下 URL 格式导航至 Application Express 登录页面:

http://<<em>hostame>: <port#>/apex

注:APEX 安装完成后,端口号将由 APEX 管理员来定义。

例如:

http://localhost:8080/apex

2.

使用下列详细信息登录:

- Workspace: SALESTRACK

- Username: olaptrain

- Password: oracle

3.

如果系统提示需要一个新口令(如果没有提示,转至第 4 步):

a.

输入 oracle 作为当前和新的口令,然后单击 Apply

b. 单击 Return
c.

同样,输入 oracle 作为口令,并单击 Login

结果:您现在应该位于 APEX 开发人员 Home 页面,如下所示:

4.

选择 Application Builder > Create Application,如下所示:

5.

在 Method 步骤,选择第一个应用程序选项,如下所示,并单击 Next

6.

在 Name 步骤,输入 OLAP 11g 作为名称并选择 OLAPTRAIN 作为模式。然后单击 Next

7.

在 Pages 步骤,执行以下操作:

a.

在 Add Page 部分,选择 Blank 为 Page Type,输入 Sales Analysis 作为 Page Name,并单击 Add Page

.

b.

在 Create Application 部分,单击 Create

8.

在 Confirm 步骤,单击 Create

结果:新的应用程序出现在 Application Builder 窗口。

返回主题列表

创建交互式销售分析报表

接下来,您将执行两个主要任务来开发交互式报表:

创建三个稍后作为部分参数化查询而使用的隐藏项。您定义的参数将用于在后面的主题中设置维“下钻”。

例如,一个名为 P1_PRODUCT 的隐藏项将作为参数用于对销售查询中的 Product 维进行下钻。

p.parent = nvl(:P1_PRODUCT, 'ALL_PRODUCTS')

注:该条件将选择由参数表示的产品的子产品(如果 P1_PRODUCT 为空,将选择“ALL_PRODUCTS”)。

您将为 Time 和 Geography 维创建类似的隐藏项。

创建交互式报表区域:

- 结合了用于驱动报表的预定义 OLAP 多维数据集 SQL 查询

- 按照区域、产品和时间来显示销售业绩。

执行以下步骤:

1.

在上一个主题末尾出现的 Application Builder 窗口中,单击 Sales Analysis 图标。

结果:您现在位于 Page Editor,如下所示。


2.

创建一个隐藏项 P1_PRODUCT:

a.

在 Items 窗格,单击 Create 按钮。

b.

在 Item Type 步骤,选择 Hidden 并单击 Next

c.

然后,选择 Hidden 作为 Hidden Item Type 并单击 Next

d.

在 Display Position 和 Name 步骤,输入 P1_PRODUCT 作为 Item Name,选择 Sales Analysis 作为 Region,并单击 Next

e.

接受项目源的默认值并单击 Create Item

结果:Page Definition 窗口的 Items 窗格如下所示:

3.

使用与步骤 2a 至 2e 中相同的技术,创建第二个隐藏项,名为 P1_GEOGRAPHY

4.

使用与步骤 2a 至 2e 中相同的技术,创建第三个隐藏项,名为 P1_TIME

当您完成后,Items 窗格应如下所示:

5.

接下来,您将创建一个交互式报表区域。

在 Page Definition 页面,找到 Regions 窗格并单击 Create 按钮。

6.

在 Region - Type of Region 步骤,选择 Report 选项并单击 Next

7.

在 Region - Report Implementation 步骤,选择 Interactive Report 并单击 Next

8.

在 Display Attributes 步骤(如下所示),输入 Explore 作为标题并单击 Next

结果:Source 步骤显示:

9.

在 Source 步骤,您将使用之前下载的预定义 SQL 查询(在前提条件部分)作为报表区域的源代码。

执行以下操作:

a.

从浏览器的主菜单选择 File > Open File

b.

打开您之前下载的 <<em>download_location>/apex-olap.sql 文件。

c.

选择查询并将它复制到剪贴板。

注:如以下图片中显示的,该单一的 SELECT 语句用于在 OLAP 多维数据集的广大区域中导航。您将看到参数名称与您之前创建的隐藏项相匹配。

更多关于如何创建 OLAP 多维数据集查询的信息,请参阅 查询 OLAP 11g 多维数据集。本教程使用相同的 OLAP 数据模型。

d.

将查询粘贴到 SQL SELECT statement 框,然后在 Link to Single Row View 选项中选择 No,如下所示:

e.

单击 Create Region

Regions 窗格现在应如下所示:

返回主题列表

格式化交互式报表

现在已经创建完成交互式报表,您将应用以下布局和格式选项:

 在报表中选择要显示的列
 按 Product 和 Time 排序
 向报表添加一个关于 Geography 的控制分组。
 向报表添加颜色代码

安装这些步骤来设置交互式报表格式:

1.

单击页面顶端的 Run 按钮。

这将使您可以查看报表并设置报表格式。

2.

在 Login 屏幕,输入 olaptrain/oracle 并单击 Login

3.

选择要显示的报表列:

a.

单击 Gear 工具并从菜单中选择 Select Columns

b.

从 Report 列表中的 Display 中删除以下列。

结果:只有维和量度列将在列表中显示。

c. 然后,单击 Apply

报表应如下所示:

4.

用 Product 排序行,并用 End Date 排序列:

a.

单击 Gear 工具并从菜单中选择 Sort

b. 对于 Column 1,请选择 Product Date
b. 对于 Column 1,请选择 End Date 然后单击 Apply

5.

向报表添加一个关于 Geography 的控制分组。

单击 Geography 报表标题并选择 Control Break 工具,如下所示:

结果:报表将根据 Geography 维成员分解为页面。

6.

如果销售额增长超过 10%, % Chg Pr Year 数据将变为绿色,需执行以下步骤:

a.

单击 Gear 工具并从菜单中选择 Highlight

b. 将 Highlight 格式命名为 Winners
c. 设置 Highlight 类型为 Cell
d. 设置 Background Color 为 green
e.

指定以下 Highlight Condition: % Chg Pr Year > 10

Highlight 框应如下所示:

f.

单击 Apply

结果:报表以 Highlight 格式自动更新。

7.

如果出现 ALERT, Product Alert 数据将变为红色。

a.

单击 Gear 图标并从菜单中选择 Highlight

b. 将格式命名为 Product_Alert
c. 设置 Highlight 类型为 Cell
d. 设置 Background Color 为 red 而 Text Color 为 yellow
e.

指定以下 Highlight Condition: Product Alert = ALERT

Highlight 框应如下所示:

f. 单击 Apply

您的报表现在看起来应与下图类似:

8.

滚动报表来查看格式。

9.

保存报表为默认报表。

a.

单击 Gear 图标并从菜单中选择 Save Report

b. 将报表命名为 Default Report Settings
c. 单击 Apply

返回主题列表

添加下钻功能并运行报表

下一个任务是启用报表的下钻功能。当用户单击 Geography、Product 或 Time 值时,所选项目的详细信息将代替所选项目。例如,单击 CY2007 显示该年的日历季度。

APEX 使您可以为 Report Attributes 页面上的列指定链接。在本例中,链接将对用户选择的项目设置相关维参数(也称为隐藏项)。

请看下钻 Time 维的流程:

 用户单击 CY2007 链接。
 链接后的逻辑指定将参数 P1_TIME 设置为所选值。

查询进行了重新执行,条件为:

t.parent = nvl(:P1_TIME, 'ALL_YEARS')

选择所有父级为‘CY2007’的时间值这等同于选择‘CY2007.’的子级

结果:下钻已执行。

执行以下步骤来向报表添加下钻功能:

1.

单击报表页面底部的 Edit Page 1 链接来返回到页面编辑器。

2.

通过单击 Regions 窗格中的 Interactive Report 链接转到 Report Attributes 页面。

3.

通过执行以下步骤向 Geography 添加下钻链接:

a.

单击 Geography 的 Edit 图标。

b.

单击 Column Definition 页面上的 Link 按钮。

c.

在 Column Link 窗口,单击 [Geography] 链接来创建 Link Text,然后在 Page 文本框输入 1(也就是说,当前页码为“1”)。

d.

然后,使用手电筒工具选择名称值对,如下所示:

注:

- 您将“link”维设置给当前用户。像之前所描述的一样,该值将引起对 Geography 的下钻。

- 您还将为 Product 和 Time 维设置参数。通过向父级列设置这些值,您将有效的保持报表的状态(父级中的子级产生当前用户设置)。这使诸如收藏等浏览器操作可以在其下钻状态中重新创建报表;这些参数将出现在 URL 中。


e.

当您完成后,Column Link 窗口应如下所示:

单击 Apply Changes

4.

向 Product 添加下钻链接:

a.

单击 Product 的 Edit 图标。

b.

单击 Column Definition 页面上的 Link 按钮。

c.

在 Column Link 窗口,单击 [Product] 链接来创建 Link Text,然后在 Page 文本框输入 1

d.

然后,使用手电筒工具选择名称值对,如下所示:

e.

单击 Apply Changes

5.

最后,添加 Time 的下钻链接:

a.

单击 Time 的 Edit 图标。

b.

单击 Column Definition 页面上的 Link 按钮。

c.

在 Column Link 窗口,单击 [Time] 链接来创建 Link Text,然后在 Page 文本框输入 1

d.

然后,使用手电筒工具选择名称值对,如下所示:

e.

单击 Apply Changes

6.

在 Region Name 窗格,单击 Apply Changes

7.

同样,单击 Page Definition 窗口顶端的 Run。报表应如下所示:

8.

对于 Africa,单击 CY2006 的 Computers 链接。该行在销售额上有很大幅度的增长,但却在后面的数据中显示了 Alert。

结果报表显示 Computer 部门产品包含有潜在的警报:

9.

通过单击任意交互式链接对交互式报表进行测试。每一次下钻,OLAP 引擎都会重新计算数据快速返回查询结果。

这一查询通过提供交互式即席查询和分析报表环境使用户可以在 OLAP 多维数据集的广大区域中进行导航。

10.

您完成报表后,单击 Logout

返回主题列表

添加报表重置按钮

向报表添加重置按钮通常是很有用的。这使您能够将报表重置回它原始的状态。

要添加一个重置按钮:

1.

单击登录页面底部(如下所示)的 Application 101 链接返回到 Application Builder 页面,然后单击 Sales Analysis 图标返回到 Page Definitions 页面。

2.

在 Buttons 窗格,单击 Create 按钮。

3.

在 Button Region 步骤,选择 Explore 区域并单击 Next

4.

在 Button Position 步骤,选择 Create a button in a region position 并单击 Next

5.

在 Buttons Attributes 步骤,指定下列选项,然后单击 Next

a.

Button Name: RESET

b.

Label: Reset

c.

Button Type: HTML Button

6.

在 Display Properties 步骤,选择 Top and Bottom of Region 作为 Position,并单击 Next

7.

在 Branching 步骤,在 Branch to Page 框输入 1(也就是说,当前页面),然后单击 Create Button

结果:Buttons 窗格应如下所示:

8.

现在,按钮已创建,您需要为按钮指定一个操作:

a.

在页面编辑器的 Page Processing > Branches 部分,单击 Go to Page

b.

单击页面顶部的 Action 选项卡,然后在 Clear Cache 中输入“ 1”,如下所示:

注:这将清除 P1_PRODUCT、P1_TIME 和 P1_GEOGRAPHY 的参数值。

c.

单击 Apply Changes

9.

单击 Run,然后使用 olaptrain/ oracle 登录到应用程序。

结果:您将看到两个重置按钮(页面顶部和底部)。

10.

单击其中一个 Reset 按钮。

结果:报表被重置回它的原始状态。

返回主题列表

更多信息

更多关于 OLAP 11g 的信息 — 相关培训,请使用下列链接:

 Oracle 数据库 11g:OLAP 基础(Oracle 大学课堂)
 构建 OLAP11g 多维数据集 (OBE)
 查询 OLAP11g 多维数据集 (OBE)
 结合 Oracle BI 企业版使用 Oracle OLAP 11g (OBE)

返回主题列表

 将鼠标置于该图标上可以隐藏所有的屏幕截图。

Left Curve
热门下载
Right Curve
Left Curve
更多融合中间件下载
Right Curve