Oracle 技术网

结合使用 Microsoft Excel 和 Oracle 11g 多维数据集

<不要删除此文本,因为它是在浏览器中运行时生成的“主要”标题列表的占位符>

目的

本教程介绍如何结合使用 Excel 2007 和 Oracle11g OLAP 数据轻松地实现功能强大的即席查询和分析。

所需时间

大约 1 小时。

概述

Simba Technologies 的 MDX Provider for Oracle OLAP 使您可以对您的 Oracle OLAP 业务智能数据使用 Microsoft Excel PivotTables® 和 PivotCharts® 的功能强大的、流行的即席查询分析功能。PivotTables 提供了交叉表功能,可以全面呈现数据以解答复杂的分析问题。PivotCharts 通过一个功能强大的、类似信息板的方式提供了可视化的洞察和报表。

Simba 的 MDX Provider for Oracle OLAP 是一个客户端驱动程序,它可以利用 Excel 强大的即席查询和分析功能,还可以利用 Excel 2007 基于多维 (MDX) 数据标准的最新发展的新功能。

Simba 的 MDX 提供程序的基本功能就是连接 Microsoft Excel 与 Oracle 11g OLAP 选件。它可以无缝地分析和处理来自 Excel 的多维查询,然后通过 SQL/ODBC 将这些查询与 Oracle OLAP 进行无缝集成。

情景

在本教程中,您将使用 Oracle11g OLAP 示例模式创建一个 Excel 2007 报表来分析 2009 年全年的销售情况,并且还要找出与上年相比其销售业绩下滑的产品维成员。

要实现这一目标,您需要:

a

接着,使用交互式即席查询技术进一步分析数据,以便从区域的角度发现数据的变化趋势。

最后,向报表中添加一个图表。

软件要求

以下为软件要求列表:

前提条件

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

.

安装或可以访问带有 OLAP 选件的 Oracle Database 11g 企业版(补丁级别 11.1.0.7 或更高)。

 

.

按照安装 Oracle OLAP 11g 示例模式中的说明,下载和安装 OLAPTRAIN 模式。

注意:示例模式安装包包括两部分:

1. 安装基础 OLAPTRAIN 模式

2. 在 OLAPTRAIN 模式中安装 SALESTRACK 分析工作区

完成这两部分的安装。

 

.

安装并配置 MDX Provider for Oracle OLAP。

MDX Provider for Oracle OLAP - User and Administrator Guide 中可以找到有关说明。可以从 http://www.simba.com/MDX-for-Oracle-OLAP-documentation.htm 下载本指南。该文档作为 MDX Provider for Oracle OLAP 程序包的组成部分一并由 Simba technologies 提供。

遵照以下说明进行操作:

  • 安装
  • 客户端与 Excel 配置

 

.

可以访问 Microsoft Excel 2007。

连接到 Oracle OLAP 多维数据集

在“前提条件”一节中,已经指导您安装和配置了 MDX Provider for Oracle OLAP。

作为配置过程的一部分,您必须创建一个到 Oracle 数据库和 OLAPTRAIN 示例模式的 Microsoft 数据源名称 (DSN)。

创建了到 Oracle 数据库的 DSN 之后,使用 Excel Data Connection Wizard 完成连接过程。

注意:

访问 SALES 多维数据集

在 Data Connection Wizard 中单击 Finish 后,将显示下面第 4 步中的 Import Data 对话框。转至第 4 步继续进行。

:如果您要创建一个使用 OLAP Sales 多维数据集现有连接的新工作簿,则从第 1 步开始。

.

如果您尚未创建工作簿,则如下所示创建一个新的空工作簿:

 

.

选择 Data > Existing Connections

结果:显示 Existing Connections 对话框。


.

在 Existing Connections 对话框中,选择到 Sales Cube 的连接,然后单击 Open

:这里显示的就是前面提到的该连接的“Friendly Names”和说明域。

 

.

在 Import Data 对话框中,选择 Pivot Table ReportExisting worksheet 选项。然后单击 OK

结果:MDX 提供程序建立了与数据库的连接,找到了多维数据集,在工作表中放置了一个数据透视表占位符, 并且用来自多维数据集的量度和维层级结构填充了 Pivot Table Field List 窗格。

 

创建销售报表

正如在“情景”一节所讲的,将使用 Oracle11g OLAP 示例模式创建一个 Excel 2007 报表来分析 2009 年全年的销售情况,并且还要找出与上年相比其销售业绩下滑的产品维成员。

之后,将进一步分析数据,以便从区域的角度发现数据的变化趋势,最后,将向报表中添加一个图表。

通过以下步骤创建报表,应用一些基本格式,然后再添加条件格式。

选择报表项


.

在 Pivot Table Field List 中,按照以下顺序选择以下四个量度:

  • Sales
  • Sales Ytd(当前年度)
  • Sales Pr Year(上个年度)
  • Sales Pr Year Pct Ch(当年销售额与上年度销售额相比的百分比变化)。

结果:这些数据项自动出现在 Values 框中,也会显示在数据透视表中。

结果:如下所示,目前只显示 Sales 的数据,因为尚未选择 Time 维成员。实际上,这里显示的数值是多维数据集中所有维成员的总销售额。

a

 

.

在 Pivot Table Field List 中向下滚动查看不同的维。将 Calendar 层级从 Time 维拖放到 Row Labels 框中,如下所示:

结果:Calendar_year 层级的顶级维成员出现在透视表的 Row 轴中。

a

注意:

    • 因为 CY2007 是所存数据的最早年度,因此它没有“前一年的”值。
    • CY2010 时间段目前只用于预测,因此这个年度只有“前一年的”值。


.

Standard 层级从 Product 维拖放到 Row Labels 框中,放在 Calendar 之下:

 

.

如下所示,将另外两个维层级 — Sales ChannelRegional 拖放到 Report Filter 框中:

这一操作使您可以按照从这两个维层级之一选择的成员筛选报表“page”轴上的数据,如下所示:

 

应用格式

在这个子主题中,首先应用一些基本报表格式来提高报表清晰度,然后再添加条件格式以便突出显示数据中的重要分析信息。

开始设置报表格式之前,请关闭 PivotTable Field List。

然后,按照以下步骤进行操作:

.

首先,通过取消对 Page Layout > Gridlines > View 的选中来关闭网格线的显示。

 

.

接下来,删除总计的显示。

A. 单击 Options 选项卡,然后选择 Pivot Table > Options 列表,如下所示:

B. 在该列表中,选择 Options

结果:显示 PivotTable Options 对话框。

C. 在 PivotTable Options 对话框中,单击 Totals & Fiters 选项卡,然后取消对以下选项的选中(如下所示):

    • Show grand totals for rows
    • Show grand totals for columns
    • Mark totals with *

D. 单击 OK 应用这些格式变更。


.

接下来,将报表布局更改为以紧缩格式显示行。单击 Design 选项卡,然后选择 Report Layout > Show in Compact Form,如下所示:

结果:现在,报表布局如下所示:


.

最后,关闭数据透视表中的弹出式工具提示的显示。

A. 在数据透视表中右键单击,从弹出菜单中选择 PivotTable Options

B. 在 PivotTable Options 对话框的 Display 选项卡中,取消对 Show contextual tooltips 选项的选择(如下所示),然后单击 OK

a

接下来,将添加几个条件格式元素来突出显示重要的数据趋势和数据特征。

 

.

首先,为了突出显示每个数据单元格值的相对大小,为每个量度添加数据条。

A. 在数据透视表的 Sales 列中选择任意一个单元格。然后选择 Home > Conditional Formatting > Data Bars > Blue 条,如下所示:

结果:设定了选定的 Sales 单元格的格式,如下所示:

B. 要将这一格式应用于 Sales 的所有单元格,单击 Formattting Options 工具(位于已设置格式的单元格旁边),然后选择 All cells showning 'Sales' values,如下所示:

结果:Sales 的所有单元格都成为蓝条格式。

 

.

使用同样的方法将蓝条应用于 Sales YtdSales Pr Year 量度。

设置这两个量度的格式之后,报表应如下所示:

 

.

将两个条件格式应用于 Sales Prior Year Percent Change 量度。

A. 在 Sales Pr Year Pct Chg 量度内选择任意一个数据单元格。然后,选择 Home > Conditional Formatting > Icon Sets > More Rules,如下所示:

B. 在 New Formatting Rule 对话框中,执行以下操作:

    • 在 Apply Rule To 部分,选择 All cells showing "Sales Pr Year Pct Chg" values
    • 在 Format Cells Based on their Values 部分,选择:
      • 3 Arrows (Colored) 作为 Icon Style
      • Number 选项作为绿箭头和黄箭头的 Type
      • 数字 10 作为绿箭头的 Value

C. 单击 OK

结果:这一条件格式提供了销售执行情况的可视化指示器,显示与上年度相比的百分比变化。

D. 再次在 Sales Pr Year Pct Chg 量度中选择一个数据单元格,然后选择 Home > Conditional Formatting > Icon Sets > More Rules

E. 在 New Formatting Rule 对话框中,指定以下内容:

  • 在 Apply Rule To 部分中,选择 All cells showing "Sales Pr Year Pct Chg" values
  • 在 Select a Rule Type 部分,选择 Format only cells that contain
  • 在 Edit Rule Description 部分,指定:Cell Value > less than > 0 应该用浅红色填充。

x

F. 单击 OK 将第二种格式应用于百分比变化量度。

 

   

执行并共享即席分析

在本主题中,为了分析产品销售业绩,我们将重点关注 2009 年度的销售数据。您还可以了解如何轻松共享 OLAP 报表 — 包括对数据的实时访问。

一开始,顶级数据显示 CY 2009 的销售趋势看起来还不错。现在,导航到这一数据。

.

展开 CY2009(单击 CY2009 旁边的“+”图标)。

结果:显示 CY2009 四个季度的数据。趋势指示器显示一些混合结果。

 

.

我们希望调查 2009 年终的结果,因此只保留 Q4 的值。 右键单击 Q4-CY2009,选择 Filter > Keep Only Selected Item

结果:所有其他时间成员都从报表中删除,如下所示:


.

从报表中删除 2009 年度的数据。

A. 右键单击 CY2009 并从弹出菜单中选择 Show/Hide Fields

B 然后,单击 Calendar_year 选项取消对该字段值的选择。

结果:年度级数据从报表中删除,如下所示:


.

接下来,更改背景条的颜色以区别 Time 与 Product 的值。将 Time 的值设为绿色,Product 的值保留为蓝色。

A. 单击 Q4-2009 的 Sales 单元格。

B. 选择 Conditional Formatting > Data Bars > Green 条。

C. 然后,将这一格式应用于 All cells showing 'Sales' values for 'Calendar_quarter',如下所示:

结果:报表反映出新的格式:

D. 使用同样的方法将绿条应用于 Sales YtdSales Pr Year 量度。

结果:现在,报表如下所示:


.

接下来,添加能够对产品销售业绩进行智能洞察的自定义 OLAP 计算。这个 Product Alert 量度可以更加深入到产品的维层级结构 中,从而发现销售业绩不佳的产品成员。

Product Alert 是一个 OLAP 函数,它返回以下两个文本值之一:

  • ALERT”,表示在本层级结构的下一级中存在销售为负增长(与上个年度的同一时间周期相比)的产品成员。
  • OKAY”,表示本层级结构的下一级的所有层级均为销售正增长的产品成员。

注意:要了解创建 OLAP 计算的更多信息,请参见资源 主题。

在 Field List 菜单中,选择 Product Alert 并将它拖到 Values 框中,放在 Sales 之上,如下所示:

结果:这个新量度添加到报表中。


.

接下来,添加以可视方式突出显示每个 ALERT 值的条件格式。

A. 在 Product Alert 量度中选择任意一个数据单元格。

B. 选择 Conditional Formatting > Icon Sets > More Rules

C. 在 New Formatting Rule 对话框中,选择以下选项(如下图所示):

    • All cells showing 'Product Alert' values
    • Format only cells that contain
    • Cell Values > equal to > ALERT

D. 然后,单击 Format 按钮。

E. 在 Format Cells 对话框中:

    • 单击 Font 选项卡,选择 Bold 选项
    • 单击 Fill 选项卡,选择颜色为 Red
    • 单击 OK

现在,New Formatting Rule 对话框如下所示:

F. 单击 OK 应用此格式。

结果:现在,报表如下所示:

Product Alert 量度指出 Computers 部门中存在销售不佳的产品 — 尽管销售数据显示 2009 年第四季度该部门的整体销售增长是比较好的(超过 9%)。

ALERT 值提示我们查看 Computers 部门。

 

.

A. 展开 Computers

结果:我们看到有两种计算机类产品存在问题:All Computer Furniture 和 Total Server Computers。

注意:

  • 因为 ALERT 指示的是 Computers 部门,因此我们知道该部门至少有一类产品(本层级的下一级)其销售为负增长。正如我们看到的,All Computer Furniture 类产品 Q4-2009 与 Q4-2008 相比销售下降了近 29%。
  • 另外,ALERT 还出现在 Total Server Computers 中。尽管该类产品的销售增长为正(增长 3.48%),但是,ALERT 告诉我们在 Total Server Computers 层级的更深一级存在销售负增长问题。


.

现在,我们查看另一类产品:Total Personal Computers。

初步观察可以看到以下信息:

  • 蓝色数据条显示 Personal Computers 是对 Computers 部门销售业绩贡献最大的一类产品。
  • Q4-FY2009 中 Total Personal Computers 的销售增长看起来还是不错的(超过 10%)。
  • 该类产品中没有 ALERT 的产品类型(在本层级的下一级中)。

A. 为了提供更加专注的分析,删除 Sales Ytd 量度:右键单击 Sales Ytd 量度的标题,选择 Remove Sales Ytd,如下所示:

B. 然后,展开 Total Personal Computers

观察到如下信息:

  • 我们看到 Total Personal Computers 类产品中有几种产品为 ALERT 情况。
  • 尽管这些产品成员的销售都不是负增长,但是我们可以知道本层级的更深一级的产品成员销售业绩不佳。
  • 根据蓝色数据条,我们可以很快确定对销售业绩贡献最大的三种 Personal Computer 产品 — Computer Storage、Personal Computers 和 PC Sound — 而这三种产品的下一层级产品中均存在销售负增长的问题。

C. 展开 Personal Computers

观察结果:

  • 对销售业绩贡献最大的 Personal Computer 子类 (MacBook),其 Q4-2009 与 Q4-2008 相比销售下降了 8%。
  • 因此,其他一些重要销售信息需要与 Computers 部门的销售总监共享。

共享 OLAP 报表

共享根据 OLAP 数据生成的 Excel 报表极为简单并且作用及其强大。可用于:

A) 将工作表另存为一个文件,并将其附加到电子邮件中。

  • 如果收件人有 MDX 提供程序并可访问多维数据集,他们就可以打开报表并实时使用该多维数据集。
  • 如果收件人不能访问多维数据集,他们就只能用 Excel 查看静态报表。

B) 将报表的内容复制并粘贴到另一个 MS office 应用程序中,如 Powerpoint 或 Word。

  • Excel 工作表具有到 OLAP 数据的实时连接,而 Powerpoint 或 Word 文档具有到该工作表的实时连接。
  • 如果以任何方式对 Excel 报表进行了更改,则 Powperpoint 或 Word 文档也会自动更新。


.

继续关注对 Personal Computers 类产品的分析,但这次将针对不同的地理区域。

A. 右键单击 Total Personal Computers,选择 Filter > Keep Only Selected Items,如下所示:

B. 然后,展开 Total Personal Computers,右键单击 Row Labels 列中的任意一个 Product 成员。从弹出菜单中选择 Show/Hide Fields > Department

结果:这一操作将隐藏(关闭显示)本层级中的 Department 级。现在报表只显示 Category 级成员,目前仅选中了 Personal Computers 一个成员。

最后,使用 Regional 报表筛选器选择地理位置维成员。

C. 通过钻取 Regional Geography 层级从报表筛选器中选择 United States,然后单击 OK,如下所示:

结果:针对所选的筛选器更新了报表。

D. 使用 Regional 报表筛选器选择其他国家/地区或地理区域。报表将更新所有存储数据和计算数据。


添加图表

在该主题中,您将重新定义报表布局,使其提供 2009 年度不同区域的 Total Personal Computer 市场的销售情况。然后,向报表添加一个图表,图示说明该产品类别每月的销售趋势。

请按照以下步骤进行操作:

.

A. 折叠展开的 Total Personal Computers,然后单击 Row Labels Filter 工具,如下所示:

B. 从 Select field 框中选择 Calendar_year,如下所示:

a

C. 展开 CY2009,选择所有季度成员(如下所示),然后单击 OK

D. 在数据透视表中,展开全部四个季度,显示 2009 年的所有月份成员。

F. 然后,右键单击 Jan-2009 并选择 Show/Hide Fields > Calendar_quarter

结果:该操作同时删除了季度和年度级成员。Row Labels 轴现在如下所示:

 

.

使用 PivotTable List 重新定义报表布局。执行以下步骤:

  • 在 Values 列表中,取消选中除 Sales 外的所有其他成员。
  • Standard(产品)层级移到 Report Filter 区域中。
  • Regional(地理位置)层级移到 Column Lables 区域中。

Field 区域窗格如下所示:

结果:报表如下所示:


.

按照如下所示筛选报表:

A. 使用 Standard(产品)报表筛选器,选择 Total Personal Computers,然后单击 OK

B. 使用 Column Labels 报表筛选器,取消选中 Oceania,然后单击 OK

结果:报表应如下所示:


.

重新调整数据列的宽度,使所有列等宽。

A. 选择 B 列到 F 列,单击右键并从弹出菜单中选择 Column Width,如下所示:

B. 输入 15 作为列宽值,然后单击 OK

结果:数据条指示:在整个 2009 年度的 Personal Computer 类产品销售中,在所选区域中 Asia 对销售业绩的贡献最大。

 

.

最后,添加图表以增强新报表。

A. 再次选择 B 列到 F 列。

B. 从弹出菜单中选择 Insert > Column > Stacked Column 3D,如下所示:

结果:向报表中添加了图表。

C. 退出 PivotChart Filter Pane。

D. 将图表移到数据透视表下方,重新调整图表的大小,如下所示:

观察结果:该图表向工作表中添加了值,清楚地指出:

  • 每个区域对 Total Personal Computer 销售业绩的相对贡献。
  • Total Personal Computer 产品类别中每个区域 2009 年中每月的趋势。

总结

您可以结合使用 MS Excel 2007(或 2003)和 Oracle11g 基于 OLAP 多维数据集轻松地创建 BI 报表,还可对实时数据执行功能强大的即席分析。使用 Simba 的 MDX 提供程序创建到 OLAP 多维数据集的实时连接,MDX 提供程序的基本功能就是连接 Microsoft Excel 与 Oracle 11g OLAP 选件。

在本教程中,您学习了如何:

资源

以下资源提供有关本教程所述主题的更多信息:

 

硬件和软件,集成设计、卓越性能 关于 Oracle |Oracle 和 Sun | Oracle RSS 信源 | 招聘 | 联系我们 | 网站地图 | 法律声明 | 使用条款 | 您的隐私权利