第一步: 进入oralce的网站:
http://www.oracle.com/technology/global/cn/obe/10gr2_db_single/bidw/awm/awm_otn.htm
显示以下内容:
在本教程中,您将使用 Analytic Workspace Manager (AWM) 通过逻辑维和多维数据集对象创建一个分析工作区。
大约 45 分钟
本教程包括下列主题:
概述 | ||
情景 | ||
前提条件 | ||
设置 | ||
创建分析工作区 | ||
定义维 | ||
定义级别 | ||
定义层次 | ||
查看属 | ||
使用模板 | ||
定义多维数据集 | ||
创建度量 | ||
映射到关系数据源 | ||
在分析工作区中加载数据 | ||
总结 |
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速慢时,响应时间可能会比较长。)
注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
Analytic Workspace Manager 10g 是一个工具,用于创建、开发和管理 Oracle OLAP 数据仓库中的多维分析工作区。通过这个简单易用的 GUI 工具,您可以使用逻辑维和多维数据集对象创建一个分析工作区。随后,您使用现有的星型、雪花和规范化关系数据源映射这些对象,然后加载数据。此外,在本教程中,您需要使用模板并做出数据存储决策。
返回主题列表
假设,在世界范围内分销硬件和软件组件的 Global Computing Company 现在具有各种星型、雪花和规范化模式。以下是用于分析之前已经经过 ETL(提取、转换和加载异构数据) 过程的表:
表 | 说明 |
CHANNEL_DIM | 针对 Channel 维的星型样式维表 |
CUSTOMER_DIM | 针对 Customer 维的星型样式维表 |
TIME_DIM | 针对 Time 维的星型样式维表 |
TIME_YEAR_DIM | 针对 Time 维的 Year 级别的雪花样式维表 |
TIME_QUARTER_DIM | 针对 Time 维的 Quarter 级别的雪花样式维表 |
TIME_MONTH_DIM | 针对 Time 维的 Month 级别的雪花样式维表 |
PRODUCT_TOTAL_PRODUCT_MEMBER | 具有 Total Product 级别的 Product 维成员的规范化式表 |
PRODUCT_CLASS_MEMBER | 具有 Class 级别的 Product 维成员的规范化样式表 |
PRODUCT_FAMILY_MEMBER | 具有 Family 级别的 Product 维成员的规范化样式表 |
PRODUCT_ITEM_MEMBER | 具有 Item 级别的 Product 维成员的规范化样式表 |
PRODUCT_TOTAL_PRODUCT_DSC | 具有 Total Product 级别的 Product 维成员说明的规范化样式表 |
PRODUCT_CLASS_DSC | 具有 Class 级别的 Product 维成员说明的规范化样式表 |
PRODUCT_FAMILY_DSC | 具有 Family 级别的 Product 维成员说明的规范化样式表 |
PRODUCT_ITEM_DSC | 具有 Item 级别的 Product 维成员说明的规范化样式表 |
PRODUCT_ITEM_BUYER | 具有 Item 级别的 Product 维成员的 Buyer 属性值的规范化样式表 |
PRODUCT_ITEM_MARKETING_MANAGER | 具有 Item 级别的 Product 维成员的 Marketing Manager 属性值的规范化样式表 |
PRODUCT_ITEM_PACKAGE | 具有 Item 级别的 Product 维成员的 Package 属性值的规范化样式表 |
UNITS_HISTORY_FACT | Sales 多维数据集的历史事实数据度量 |
UNITS_UPDATE_FACT | Sales 多维数据集的度量的最近一个月的事实数据 |
PRICE_AND_COST_HIST_FACT | Price 和 Cost 多维数据集的度量的历史事实数据 |
PRICE_AND_COST_UPD_FACT | Price 和 Cost 多维数据集的度量的最近一个月的事实数据 |
设计逻辑数据模型
检查了这些支持 Global Computing 进行分析的关系表之后,标识逻辑数据模型中的维、级别、层次和属性。此外,还要标识每个维中的关系。产生的数据模型用于设计 Global 分析工作区。
标识维
使用四个维组织数据库中的事实。
Channel | 根据每个分销渠道显示数据的变化。 | |
Customer | 按客户或地理区域显示数据的变化。 | |
Product | 按产品显示数据的变化。 | |
Time | 显示数据随时间的变化。 |
标识级别
既然您已经标识了维,您应该可以标识每个维中的汇总级别。Global Computing 的分析要求包括:
有三个分销渠道:Sales、Catalog 和 Internet。这三个值是数据仓库中最低的细节级别,分组在 Channel 级别中。按照最高汇总级别到最低细节级别的顺序,级别依此为 Total Channel 和 Channel。 | ||
Global 按照提交给客户的发货路线和市场细化进行客户和地理分析。在每种情况下,数据模型中最低的细节级别都是 Ship To 位置。
|
||
Shipments 汇总级别(从高到低)包括:Total Customers、Region、Warehouse 和 Ship To。 | ||
Market Segmentation 汇总级别(从高到低)包括:Total Market、Market Segment、Account 和 Ship To。 | ||
Product 维包括四个级别(从高到底):Total、Class、Family 和 Item。 | ||
Time 维包括三个级别(从高到低):Year、Quarter 和 Month。 |
在 Channel、Customer 和 Product 维中,您将 Total 级别作为最高汇总级别添加。添加这个最高级别可以在应用程序用户分析数据时提供额外的灵活性。
标识层次
层次组织每个维中的级别。要标识层次,您需要按照正确的汇总顺序和支持识别的分析类型的方法对级别进行分组。
对于 Channel、Product 和 Time 维,Global Computing 仅要求每个维一个层次。然而,对于 Customer 维,Global Computing 需要两个层次。Customer 维中的分析往往是按地理区域或市场细分进行。因此,您将级别组织成两个层次:Shipments 和 Market Segment。
标识存储度量
事务性数据库需要四个事实:
Sales | ||
Units | ||
Unit Price | ||
Unit Cost |
其他所有事实都派生自这些基本事实。可以在分析工作区中按需计算派生的事实。如果经验表明其中某些派生的事实使用频繁,并且计算会对系统造成很大负担,则可以将其中某些事实作为数据维护过程在分析工作区中计算和存储。
返回主题列表
开始本教程之前,您应该:
1. | 完成了教程在 Windows 上安装 Oracle 数据库 10g。注意:您还可以连接到非 Windows 数据库来完成本教程。 |
|
2. | 从 OTN 下载 Analytic Workspace Manager 并将其解压缩到 Windows 计算机上的任何目录。 |
|
3. | 下载 awm.zip 并将其解压缩到工作目录(例如,d:/wkdir) |
返回主题列表
执行以下步骤,设置本教程中将使用的数据库。
1. | 首先需要创建一个表空间和一些数据文件。打开 SQL*Plus,然后执行以下脚本: @c:/wkdir/awm_setup01awm_setup01.sql 脚本包含以下语句: sqlplus / as sysdba
CREATE TABLESPACE GLOBAL
DATAFILE '<oracle_base>/oradata/orcl/GLOBAL.DBF'
SIZE 90M AUTOEXTEND ON NEXT 5M;
CREATE TEMPORARY TABLESPACE GLOBAL_TEMP
TEMPFILE '<oracle_base>/oradata/orcl/GLOBAL_TEMP.DBF'
SIZE 90M AUTOEXTEND ON NEXT 5M
UNIFORM SIZE 256K;
oracle_home 位于 <oracle_base> 目录下。将脚本修改为包含您的目录。
|
2. | 现在,您想创建一个用户并授予所需的角色。打开 SQL*Plus,然后执行以下脚本: @c:/wkdir/awm_setup02awm_setup02.sql 脚本包含以下语句: CREATE USER GLOBAL IDENTIFIED BY GLOBAL DEFAULT TABLESPACE GLOBAL TEMPORARY TABLESPACE GLOBAL_TEMP QUOTA UNLIMITED ON GLOBAL; GRANT OLAP_USER TO GLOBAL;
|
3. | 此时,您可以将 GLOBAL_TABLES.DMP 中的数据导入刚刚创建的用户中。在命令提示符处执行以下命令: cd /wkdir 执行: IMP GLOBAL/GLOBAL file=GLOBAL_TABLES.DMP ignore=y 或者
|
返回主题列表
分析工作区是用 OLAP DML 编写的多维数据对象和过程,是用 Analytic Workspace Manager 创建的。执行以下步骤:
1. | 打开 Windows 资源管理器,双击 <your_path>/awm/bin/awm.exe。
|
2. | 右键单击 Databases 并选择 Add Database to tree。
|
3. | 在 Description 域中输入 MyAW,在 Connection Information 域中输入 <hostname>:1521:<SID<,然后单击Create。
|
4. | 展开 MyAW。
|
5. | 在 Username 和 Password 域中输入 global,然后单击 OK。
|
6. | 展开 Schema > GLOBAL。右键单击 Analytic Workspaces 并选择 Create Analytic Workspace。
|
7. | 在 Name 域中输入 GLOBAL,然后单击 Create。
|
8. | 此时您的分析工作区就创建好了。
|
返回主题列表
维是标识数据和对数据进行分类的唯一值的列表。它们形成逻辑多维数据集的边缘,进一步形成多维数据集中的度量(事实)。维是逻辑模型中级别、层次和属性的父级。您定义这些支持对象(加上维本身)是为了有一个功能齐全的维。
您可以将维定义为“User”维,也可以定义为“Time”维。因为要对历史数据进行业务分析,因此完全定义的时间段很关键。您的时间维源必须具有针对时间段结束日期和时间跨度的列。这些必需的属性支持时序分析,例如,与较早的时间段进行比较。如果该信息不可用,您可以将 Time 定义成一个普通维,不过它不支持基于时间的分析。
1. | 右键单击 Dimensions 文件夹并选择 Create Dimension。
|
2. | 在 Create Dimension 对话框默认的 General 选项卡中,输入 CHANNEL 作为名称,并选择 User Dimension 作为维类型。然后单击 Create。
|
4. | 此时您的维就创建好了。
|
返回主题列表
为了进行业务分析,通常在各种级别汇总数据。例如,您的数据库可能包含一个事务性数据库的每日快照。“日”因此是基础级别。您可以按照每日、每季度和每年级别汇总该数据。
级别具有父子关系或一对多关系,它们形成一个层次。例如,每周七天,每季度 13 周,每年 4 个季度。分析人员可以使用这个层次检测较高级别的趋势,然后下钻到较低的级别以找到与趋势有关的因素。
对于您定义的每个级别,您必须标识该级别的维成员的数据源。所有级别的成员都存储在相同的维中。在前一个示例中,Time 维包含成员日、周、季度和年。
1. | 展开 CHANNEL 节点,右键单击 Levels 文件夹,然后选择 Create Level。
|
2. | 在 Create Level 对话框中,在 Name 域中输入 TOTAL_CHANNEL ,然后单击 Create。
|
3. | 新的 TOTAL_CHANNEL 级别作为一个项目出现在 Levels 文件夹中。您需要为该维再创建一个级别。再次右键单击Levels 文件夹,选择 Create Level。
|
4. | 在 Name 域中输入 CHANNEL,然后单击 Create。
|
5. | 已经为 CHANNEL 维创建了 TOTAL_CHANNEL 和 CHANNEL 级别。
|
返回主题列表
层次是一个逻辑结构,它将排序的级别用作一种组织数据的方式。它可以用来定义数据聚合;例如,在时间维中,层次可以用于将月级别的数据聚合到季度级别,然后再聚合到年级别。层次可用于定义一个导航式下钻路径,无论该层次中的级别是否代表合计总数。
维可能具有一个或多个层次。如果您定义多个层次,一定要将其中一个层次定义为默认层次结构。
1. | 右键单击 Hierarchies 文件夹,然后单击 Create Hierarchy。
|
2. | 在 Create Hierarchy 对话框中,输入 Primary 作为名称,并接受为默认层次。单击 >> 选择所有级别,然后单击Create。
|
3. | 新的 PRIMARY 层次作为一个项目出现在 Hierarchies 文件夹中。
|
返回主题列表
属性提供有关某个维的各个成员的信息。它们用于标记跨格化和图形化数据的显示,选择数据,组织维成员等。所有维都是用长描述和短描述属性创建的。时间维也具有时间跨度和结束日期属性。
在本部分,您将查看刚刚创建的 CHANNEL 维的属性。执行以下步骤:
1. | 展开 Attributes 文件夹并高亮显示 LONG_DESCRIPTION。展开 CHANNEL,查看级别。必须选择级别才能将属性映射到数据源。此操作将在本教程的后面部分完成。
|
2. | 在 Attributes 文件夹下,高亮显示 SHORT_DESCRIPTION。查看其内容。
|
返回主题列表
Analytic Workspace Manager 中的模板特性将逻辑对象的定义保存在数据库范围之外。使用已保存的模板,您可以新建和现有对象完全一样的分析工作区、维、多维数据集和自定义度量,是否使用映射均可。模板不包括数据。模板允许您:
与其他用户共享分析工作区设计。 | ||
将对象定义转移到其他模式或实例。 | ||
将对象定义保存在数据库外。 | ||
将对象定义置于源代码控制中。 |
在这一部分中,您将用以前保存的模板创建三个维:CUSTOMER、PRODUCT 和 TIME。执行以下步骤:
1. | 右键单击 Dimensions 文件夹并选择 Create Dimension From Template。
|
2. | Create Dimensions From Template 对话框中,在 <wkdir> 目录中找到 Customer Star.XML 文件并单击 Create。
|
3. | 新的 CUSTOMER 维在 Dimensions 文件夹下显示。
|
4. | 现在可以开始创建 PRODUCT 维了。右键单击 Dimensions 文件夹并选择 Create Dimension From Template。
|
5. | 在 Create Dimensions From Template 对话框中,找到 Product Other.XML 文件并单击 Create。
|
6. | 新的 PRODUCT 维在 Dimensions 文件夹下显示。
|
7. | 现在可以开始创建 TIME 维。右键单击 Dimensions 文件夹并选择 Create Dimension From Template。
|
8. | 在 Create Dimensions From Template 对话框中,找到 TIME Snowflake.XML 文件并单击 Create。
|
9. | 新的 TIME 维在 Dimensions 文件夹下显示。
|
返回主题列表
多维数据集是多维数据的逻辑表示。多维数据集的边缘包含维成员,而其主体则包含了数据值。例如,销售数据可以组织到一个多维数据集中,其边缘包含 channel、customer、product 和 time 维的数据,而主体则包含 volume 销售数据和 dollar 销售数据。
多维数据集是度量(事实)的父级。它们是标识具有完全相同维的度量的信息对象,是在所有阶段要一起处理的对象:数据加载、聚合、存储和查询。
在这一部分中,您将创建两个多维数据集:SALES_CUBE 和 PRICE_AND_COST_CUBE。执行以下步骤:
1. | 右键单击 Cubes 文件夹并单击 Create Cube。
|
2. | 在 Create Cube 对话框默认的 General 选项卡中,输入 SALES_CUBE 作为名称。选择 >> 以包括所有维,然后单击Implementation Details 选项卡。
|
3. | 多维数据集中维的排列顺序会影响性能,这是因为排列顺序决定了数据在磁盘上的存储方式。多维数据集中的第一个维是变化最快的维,最后一个维是变化最慢的维。按以下顺序移动维: TIME 确保为所有维(Time 除外)选择了 Sparse 复选框。取消选择 Use compression 复选框。然后单击 Create。
|
4. | 此时您的 SALES_CUBE 多维数据集就创建好了。再次右键单击 Cubes 文件夹,然后单击 Create Cube。
|
5. | 在 Create Cube 对话框默认的 General 选项卡中,输入 PRICE_AND_COST_CUBE 作为名称。选择 TIME 和PRODUCT 维并单击 Rules 选项卡。
|
6. | 为选择 Dimensions TIME 和 PRODUCT 的 Operator 选择 Nonadditive (Do not summarize)。然后单击 Create。
|
7. | 此时您的多维数据集就创建好了。
|
返回主题列表
基础度量存储收集的有关您业务的事实。每个度量属于一个特定的多维数据集,因此与该多维数据集中的其他度量具有共同的特定特征(如相同的维)。
1. | 展开 SALES_CUBE 节点,右键单击 Measures 文件夹,然后选择 Create Measure。
|
2. | 在 Create Measure 对话框中,输入 SALES 作为名称,然后单击 Create。
|
3. | 新的 SALES 度量在 Measures 文件夹下显示。现在创建 Units 度量。再次右键单击 Measures 文件夹,然后选择Create Measure。
|
4. | 在 Create Measure 对话框中,输入 UNITS 作为名称,然后单击 Create。
|
5. | 展开 PRICE_AND_COST_CUBE 节点,右键单击 Measures 文件夹,然后选择 Create Measure。
|
6. | 在 Create Measure 对话框中,输入 UNIT_PRICE 作为名称,然后单击 Create。
|
7. | 再次右键单击 Measures 文件夹,然后选择 Create Measure。
|
8. | 在 Create Measure 对话框中,输入 UNIT_COST 作为名称,然后单击 Create。
|
9. | 此时您的所有度量就创建好了。
|
返回主题列表
创建了逻辑对象之后,您可以将它们映射到 Oracle 数据库中的关系数据源。随后,您可以使用 Maintain Analytic Workspace 向导将数据加载到分析工作区中。
1. | 展开 CHANNEL 维并单击 Mappings。
|
|||||||||||||||||||||
2. | Mapping 窗口显示在右窗格中。展开 GLOBAL 模式,然后展开 Tables。
|
|||||||||||||||||||||
3. | 选择 CHANNEL_DIM 表,并将其拖放到映射画布上。
|
|||||||||||||||||||||
4. | 该表出现在映射画布上。您可以将对象向周围移动一些,以便可以在同一个窗口内查看它们。
|
|||||||||||||||||||||
5. | 从 CHANNEL_DIM 源列到 CHANNEL 目标对象绘制直线。按如下所示映射列:
要绘制一条直线,请单击源列的输出连接器,并将其拖到目标对象的输入连接器处。完成后,单击 Apply。
随即显示结果。该图是自动排列的。
|
|||||||||||||||||||||
6. | 或者,您可以在 Table Mapping View 中查看映射。单击工具栏上的 Table Mapping View 图标。
|
|||||||||||||||||||||
7. | 现在,映射以表格格式显示。
|
|||||||||||||||||||||
8. | 现在,所有四个维都已经映射。Customer、Product 和 Time 模板包括映射。然而,您可能想在 Product 和 Time 映射与星型模式不同时检查它们。Product 使用规范化表,Time 使用雪花表。
|
|||||||||||||||||||||
9. | 现在可以映射多维数据集了。展开 SALES_CUBE 节点。您将收到一条消息,询问是否要保存改动。单击 Yes。
|
|||||||||||||||||||||
9. | 单击 Mappings。
|
|||||||||||||||||||||
10. | 展开 GLOBAL > Tables。选择 UNITS_HISTORY_FACT 表,并将其拖放到映射画布上。
|
|||||||||||||||||||||
11. | 从 UNITS_HISTORY_FACT 源列到 SALES_CUBE 目标对象绘制直线。按如下所示映射列:
要绘制一条直线,请单击源列的输出连接器,并将其拖到目标对象的输入连接器处。完成后,单击 Apply。
随即显示结果。
|
|||||||||||||||||||||
12. | 展开 PRICE_AND_COST_CUBE 节点并单击 Mappings。
|
|||||||||||||||||||||
13. | 选择 PRICE_AND_COST_HIST_FACT 表,并将其拖放到映射画布上。
|
|||||||||||||||||||||
14. | 从 PRICE_AND_COST_HIST_FACT 源列到 PRICE_AND_COST_CUBE 目标对象绘制直线。按如下所示映射列:
要绘制一条直线,请单击源列的输出连接器,并将其拖到目标对象的输入连接器处。完成后,单击 Apply。
|
返回主题列表
Maintenance Wizard 将数据作为单个作业进行加载和聚合。您可以在分析工作区中加载所有映射的对象,或者单个维和度量。您还可以选择立即运行作业,将其输入 Oracle 作业队列中,或者将其保存为 SQL 脚本。
1. | 右键单击 GLOBAL 分析工作区,然后选择 Maintain Analytic Workspace GLOBAL。
|
2. | 选择 SALES_CUBE 和 PRICE_AND_COST_CUBE,然后单击 > 选择多维数据集及其维。单击 Next。
|
3. | 接受数据处理选项的默认值,然后单击 Next。
|
4. | 单击 Finish 创建并运行维护任务,以将数据加载到 GLOBAL 分析工作区中。
|
5. | 维护任务已经完成。查看构建日志。向下滚动到底部。
|
6. | 数据已经成功加载到 GLOBAL 分析工作区中。单击 Close。
|
7. | 现在,GLOBAL 分析工作区包含默认聚合计划指定的数据。您现在可以使用 Oracle Business Intelligence Beans 应用程序(如 Discoverer Plus OLAP 和电子表格插件)执行即席多维分析!
|
8. | 要查看数据,请右键单击 SALES_CUBE.SALES 度量并选择 View Data SALES。
|
9. | 数据随即显示。
|
返回主题列表
在本教程中,您学习了如何:
创建分析工作区 | ||
定义维、级别和层次 | ||
查看属性 | ||
使用模板 | ||
定义多维数据集 | ||
创建度量 | ||
创建到关系数据源的映射 | ||
在分析工作区中加载数据 |
返回主题列表
下载
http://www.oracle.com/technology/products/bi/olap/olap_downloads.html
AWM_10203A_10203_WINNT.zip