概要
本文主要通过在 InfoSphere Warehouse V9.7(以下简称 ISW V9.7)中
![](/icons/86239de.gif)
从创建数据仓库数据模型
![](/icons/86239dou.gif)
基于数据模型创建多维对象
![](/icons/86239dou.gif)
同时使用 ISW V9.7 Design Studio 中多维建模
![](/icons/86239de.gif)
相关工具完善立方体模型
![](/icons/86239dou.gif)
立方体
![](/icons/86239dou.gif)
共享维和虚拟立方体等多维对象
![](/icons/86239dou.gif)
同时对于多维元数据立方体安全定义
![](/icons/86239dou.gif)
维成员浏览等进行简单
![](/icons/86239de.gif)
介绍
![](/icons/86239dou.gif)
从而使读者可以使用 ISW V9.7 熟练
![](/icons/86239dou.gif)
快速地完成多维建模、调试及部署等操作
![](/icons/86239dou2.gif)
由于和 DWE V9.5 相比
![](/icons/86239dou.gif)
ISW V9.7 在多维对象进行了许多调整
![](/icons/86239dou.gif)
本文在介绍多维建模
![](/icons/86239de.gif)
过程中对于调整比较大
![](/icons/86239de.gif)
对象进行介绍以帮助读者通过本文更好
![](/icons/86239de.gif)
理解多维对象以及多维建模在 V9.7 中
![](/icons/86239de.gif)
改变
![](/icons/86239dou2.gif)
对于有移植需求
![](/icons/86239de.gif)
读者
![](/icons/86239dou.gif)
在 ISW V9.7 中
![](/icons/86239dou.gif)
多维对象
![](/icons/86239de.gif)
移植需要通过元数据文件(metadata file)从 V9.5 移植到 V9.7 中
![](/icons/86239dou2.gif)
由于本文主要关注于 ISW V9.7 中多维对象建模
![](/icons/86239dou.gif)
对移植不再赘述
![](/icons/86239dou2.gif)
本系列文章是用
![](/icons/86239de.gif)
数据库可以在产品安装目录下找到
![](/icons/86239dou.gif)
具体
![](/icons/86239de.gif)
路径可以参考如下:
Windows: C:\Program Files\IBM\ISWarehouse\samples\GSDB
Linux: /opt/IBM/ISWarehouse/samples/GSDB
有关数据库创建
![](/icons/86239de.gif)
详细步骤可以参考 "DB2 信息中心"
![](/icons/86239dou.gif)
本文不再赘述
![](/icons/86239dou2.gif)
前提条件
ISW V9.7 Design Studio 和 ISW V9.7 Server 已经正确安装
![](/icons/86239dou.gif)
同时元数据库也通过 ISW V9.7 Server
![](/icons/86239de.gif)
安装在 DB2 服务器中创建完成
![](/icons/86239dou.gif)
默认
![](/icons/86239de.gif)
元数据库名为 DWECTRL
![](/icons/86239dou2.gif)
用户对数据仓库
![](/icons/86239dou.gif)
多维建模有
![](/icons/86239yi.gif)
个基本
![](/icons/86239de.gif)
了解
![](/icons/86239dou.gif)
并且最好对 ISW 或者 ISW
![](/icons/86239de.gif)
前身 DWE
![](/icons/86239de.gif)
产品结构有
![](/icons/86239yi.gif)
个了解
![](/icons/86239dou2.gif)
ISW V9.7 Server 安装
![](/icons/86239de.gif)
服务器中包含元数据库
![](/icons/86239de.gif)
DB2 例子已经启动
![](/icons/86239dou2.gif)
Design Studio 所在
![](/icons/86239de.gif)
客户机可以访问 Server 所在
![](/icons/86239de.gif)
服务器
![](/icons/86239dou2.gif)
本文
![](/icons/86239de.gif)
最佳练习基于 Windows 平台进行介绍
![](/icons/86239dou.gif)
截图都截自 Windows XP SP2.
启动 InfoSphere Warehouse Design Studio:
在 ISW V9.7 Design Studio 所在
![](/icons/86239de.gif)
客户机
![](/icons/86239dou.gif)
单击菜单“开始 -> 所有
![](/icons/86239chengxu.gif)
->IBM InfoSphere Warehouse->ISWCOPY01->Design Studio”启动 Design Studio
![](/icons/86239dou2.gif)
选择默认
![](/icons/86239de.gif)
Workspace 或者通过浏览目录指定 Workspace 启动 Design Studio.
创建物理设计工程
1. Design Studio 启动默认
![](/icons/86239de.gif)
工作视图为“Data Warehousing”视图
![](/icons/86239dou.gif)
如果 Design Studio 启动后默认视图不是“Data Warehousing”视图
![](/icons/86239dou.gif)
则需要通过点击菜单“Windows->Open Perspective->Others”
![](/icons/86239dou.gif)
在“Open Perspective”对话框中选择“Data Warehousing (default)”从而切换到“Data Warehousing”视图
![](/icons/86239dou2.gif)
图 1. 数据仓库透视图
![](http://CrazyCoder.cn/WebFiles/200912/4dbda972-fa83-4999-9ae2-d774d67a16b1.jpeg)
查看原图(大图)
2. 通过菜单“File->New->Data Design Project (OLAP)”创建物理设计工程
![](/icons/86239dou.gif)
指定工程名称本文所有
![](/icons/86239de.gif)
操作都在工程“OLAPDemo”下进行操作
![](/icons/86239dou2.gif)
创建数据仓库物理模型(Physical Data Model)
在 Design Studio 中集成了 InfoSphere Data Architecture
![](/icons/86239dou.gif)
简称 IDA( 原 Rational Data Architecture
![](/icons/86239dou.gif)
简称 RDA)
![](/icons/86239dou.gif)
物理数据模型
![](/icons/86239de.gif)
创建完全使用 IDA 完成
![](/icons/86239dou.gif)
我们可以通过两种方式创建物理数据模型:从模版中创建物理数据模型
![](/icons/86239dou.gif)
从已有
![](/icons/86239de.gif)
数据库连接或者已有
![](/icons/86239de.gif)
DDL 中通过反向工程创建物理数据模型
![](/icons/86239dou2.gif)
前
![](/icons/86239yi.gif)
种方式需要用户自己完成数据模型
![](/icons/86239de.gif)
定义
![](/icons/86239dou.gif)
数据库
![](/icons/86239dou.gif)
模式
![](/icons/86239dou.gif)
数据表
![](/icons/86239dou.gif)
表约束
![](/icons/86239dou.gif)
索引等
![](/icons/86239dou2.gif)
由于本文旨在帮助读者更好
![](/icons/86239de.gif)
完成多维建模
![](/icons/86239dou.gif)
对数据模型设计
![](/icons/86239dou.gif)
本文不再赘述
![](/icons/86239dou2.gif)
如果读者需要了解如何创建数据模型
![](/icons/86239dou.gif)
可参考 IDA 或者 RDA 相关指导文档
![](/icons/86239dou2.gif)
后
![](/icons/86239yi.gif)
种方式则可以通过已有
![](/icons/86239de.gif)
数据模型直接导入到数据设计工程中供用户进行更新或者直接被用来进行多维对象建模
![](/icons/86239dou2.gif)
注意:如果需要通过反向工程从已有数据库连接中创建物理数据模型
![](/icons/86239dou.gif)
则需要在创建模型的前在“ Data Source Explorer ”中连接要进行多维建模
![](/icons/86239de.gif)
数据库
![](/icons/86239dou.gif)
本文使用 GSDB 作为多维建模
![](/icons/86239de.gif)
数据库
![](/icons/86239dou2.gif)
1. 单击菜单“File->New->Physical Data Model”打开物理数据模型创建向导
![](/icons/86239dou2.gif)
2. 设置物理数据模型
![](/icons/86239de.gif)
相关属性:
目标文件夹: /OLAPDemo
文件名称: Database Model
数据库: DB2 for Linux, UNIX, and Windows
版本: V9.7
3. 选择“Create from template”
![](/icons/86239dou.gif)
单击“Finish”完成从模板创建物理数据模型
选择“Create from reverse engineering”
![](/icons/86239dou.gif)
单击“Next”
图 2. 物理数据模型创建向导 1
![](http://CrazyCoder.cn/WebFiles/200912/6cca4e80-e46d-492c-b0dc-f2b5081379a3.jpeg)
查看原图(大图)
3. 由于我们选择从数据库“GSDB”进行物理模型反向工程创建
![](/icons/86239dou.gif)
选择“Database”并且单击“Next”
![](/icons/86239dou2.gif)
图 3. 物理数据模型创建向导 2
![](http://CrazyCoder.cn/WebFiles/200912/a4906890-5b1f-4062-ad7a-2f06405476e5.jpeg)
查看原图(大图)
4. 在“Data Source Explorer”中已经连接数据库 GSDB
![](/icons/86239de.gif)
情况下
![](/icons/86239dou.gif)
我们选择“GSDB”并且单击“Next”
![](/icons/86239dou2.gif)
图 4. 物理数据模型创建向导 3
![](http://CrazyCoder.cn/WebFiles/200912/a87dba4b-c903-4bfc-9dc9-40be0f680384.jpeg)
查看原图(大图)
5. 在接下来
![](/icons/86239de.gif)
向导中
![](/icons/86239dou.gif)
我们选择需要到处
![](/icons/86239de.gif)
数据库模式
![](/icons/86239dou.gif)
我们把所有以“GOSALES”开头
![](/icons/86239de.gif)
模式全部选上并且单击“Next”
![](/icons/86239dou2.gif)
图 5. 物理数据模型创建向导 4
![](http://CrazyCoder.cn/WebFiles/200912/5dd5ef3a-aa67-4412-ba19-f5ec4a9458f4.jpeg)
查看原图(大图)
6. 接下来我们选择要导出所选中
![](/icons/86239de.gif)
模式中
![](/icons/86239de.gif)
那些数据库对象
![](/icons/86239dou.gif)
我们选择所有
![](/icons/86239de.gif)
对象并且单击“Finish”完成从反向工程对物理数据模型
![](/icons/86239de.gif)
创建
![](/icons/86239dou2.gif)
图 6. 物理数据模型创建向导 5
![](http://CrazyCoder.cn/WebFiles/200912/63a38ff1-5338-43c7-a8ae-975081542e05.jpeg)
查看原图(大图)
创建立方体模型(Cube Model)
在 ISW V9.7 中
![](/icons/86239dou.gif)
立方体模型创建向导得到了很大程度
![](/icons/86239de.gif)
加强
![](/icons/86239dou2.gif)
立方体模型向导可以通过数据模型定义
![](/icons/86239dou.gif)
帮助用户识别事实表
![](/icons/86239de.gif)
最佳候选
![](/icons/86239dou.gif)
并通过识别物理模型中
![](/icons/86239de.gif)
约束定义最终生成
![](/icons/86239yi.gif)
个完整
![](/icons/86239de.gif)
立方体模型
![](/icons/86239dou2.gif)
由于在 GSDB 中已经定义了相关
![](/icons/86239de.gif)
约束
![](/icons/86239dou.gif)
我们将略过对于物理数据模型
![](/icons/86239de.gif)
约束定义
![](/icons/86239dou.gif)
如果用户
![](/icons/86239de.gif)
数据仓库物理模型中没有定义相关约束
![](/icons/86239dou.gif)
则需要在数据设计工程中完成约束定义再继续下面
![](/icons/86239de.gif)
立方体模型创建
![](/icons/86239dou2.gif)
接下来我们就来通过立方体模型向导基于 GSDB 创建立方体模型
![](/icons/86239dou2.gif)
1. 我们在“Data Project Explorer”中右击“OLAPDemo->Data Models->Database Model.dbm->GSDB->OLAP Objects”
![](/icons/86239dou.gif)
在弹出
![](/icons/86239de.gif)
菜单中选择“Add Cube Model”
![](/icons/86239dou2.gif)
图 7. 添加立方体模型
![](http://CrazyCoder.cn/WebFiles/200912/f575dcde-e821-4815-81d2-b972e7c3dcb4.jpeg)
查看原图(大图)
2. 在出现
![](/icons/86239de.gif)
立方体模型向导中
![](/icons/86239dou.gif)
我们可以看到我们在创建物理数据模型
![](/icons/86239de.gif)
时候导出
![](/icons/86239de.gif)
所有模式(GOSALES
![](/icons/86239dou.gif)
GOSALESCT
![](/icons/86239dou.gif)
GOSALESDW
![](/icons/86239dou.gif)
GOSALESHR
![](/icons/86239dou.gif)
GOSALESMR
![](/icons/86239dou.gif)
GOSALESRT)以及这些模式
![](/icons/86239de.gif)
数据库对象如表
![](/icons/86239dou.gif)
视图和别名等
![](/icons/86239dou2.gif)
选择“Show _disibledevent=>
查看原图(大图)
由于 ISW V9.7 Server 不支持多事实表
![](/icons/86239de.gif)
多维模型
![](/icons/86239dou.gif)
所以在立方体模型向导中
![](/icons/86239dou.gif)
事实表只能选择
![](/icons/86239yi.gif)
个
![](/icons/86239dou.gif)
当用户选择多个
![](/icons/86239de.gif)
时候
![](/icons/86239dou.gif)
立方体模型向导将阻止用户创建立方体模型
![](/icons/86239dou2.gif)
如果用户
![](/icons/86239de.gif)
数据仓库中
![](/icons/86239de.gif)
事实表需要从多个表中提取数据则需要用户通过创建视图来创建立方体模型
![](/icons/86239dou.gif)
以达到支持多个事实表
![](/icons/86239de.gif)
效果
![](/icons/86239dou2.gif)
3. 在接下来
![](/icons/86239de.gif)
立方体模型创建向导中
![](/icons/86239dou.gif)
我们可以看到通过向导生成
![](/icons/86239de.gif)
立方体模型整理总结
![](/icons/86239dou2.gif)
该立方体模型基于用户选择
![](/icons/86239de.gif)
事实表生成立方体模型中
![](/icons/86239de.gif)
事实对象
![](/icons/86239dou.gif)
通过发掘数据模型中事实表
![](/icons/86239de.gif)
约束定义
![](/icons/86239dou.gif)
从而找到相应
![](/icons/86239de.gif)
维表生成立方体模型中
![](/icons/86239de.gif)
维度
![](/icons/86239dou.gif)
同时生成事实对象
![](/icons/86239de.gif)
相关属性和度量
![](/icons/86239dou2.gif)
对于雪花模型
![](/icons/86239dou.gif)
立方体模型向导可以把跟主维表关联
![](/icons/86239de.gif)
其他维表通过主外键添加到相同
![](/icons/86239de.gif)
维度中
![](/icons/86239dou2.gif)
对于维度
![](/icons/86239dou.gif)
立方体模型会对该维度中
![](/icons/86239de.gif)
每
![](/icons/86239yi.gif)
个维表创建
![](/icons/86239yi.gif)
个层(Level)
![](/icons/86239dou.gif)
每个维度创建
![](/icons/86239yi.gif)
个层次(Hierarchy)包含所有
![](/icons/86239de.gif)
层
![](/icons/86239dou2.gif)
立方体模型向导会在立方体模型中生成
![](/icons/86239yi.gif)
个立方体(Cube)包含事实和所有
![](/icons/86239de.gif)
层次
![](/icons/86239dou2.gif)
每个维度会生成
![](/icons/86239yi.gif)
个事实维度连接(Fact-Dimension Join)
![](/icons/86239dou.gif)
连接会指向事实表和主维表中
![](/icons/86239de.gif)
相应外键和主键
![](/icons/86239dou2.gif)
如果是雪花模型
![](/icons/86239dou.gif)
![](/icons/86239yi.gif)
些维度中又会生成相应
![](/icons/86239de.gif)
维至维连接(Dimension- Dimension Join)
![](/icons/86239dou.gif)
从而将该维度中
![](/icons/86239de.gif)
所有维表通过维至维连接连接起来
![](/icons/86239dou2.gif)
图 9. 重命名多维对象
![](http://CrazyCoder.cn/WebFiles/200912/4d023fa2-b950-4cdf-8448-c8672023d488.jpeg)
查看原图(大图)
由于生成
![](/icons/86239de.gif)
多维对象
![](/icons/86239de.gif)
命名大多数来自关系型数据表
![](/icons/86239de.gif)
表名或者列名
![](/icons/86239dou.gif)
我们可以在立方体模型整理总结中
![](/icons/86239dou.gif)
通过双击或者 F2 键对选中
![](/icons/86239de.gif)
多维对象进行重命名
![](/icons/86239dou2.gif)
我们这里不做任何修改
![](/icons/86239dou.gif)
单击“Finish”完成立方体模型向导对于立方体模型
![](/icons/86239de.gif)
创建
![](/icons/86239dou2.gif)
注:如果在物理数据模型中没有约束定义
![](/icons/86239dou.gif)
用户也可以自己完成所有
![](/icons/86239de.gif)
多维对象定义
![](/icons/86239dou.gif)
但是建议用户在完成物理数据模型中完成约束定义
![](/icons/86239dou.gif)
从而可以通过立方体模型向导加速多维模型
![](/icons/86239de.gif)
设计和开发
![](/icons/86239dou2.gif)
更新立方体模型
通过立方体模型向导
![](/icons/86239dou.gif)
我们已经得到了
![](/icons/86239yi.gif)
个完整有效
![](/icons/86239de.gif)
立方体模型
![](/icons/86239dou2.gif)
在 ISW V9.7
![](/icons/86239de.gif)
数据设计浏览器中
![](/icons/86239dou.gif)
我们可以看到生成立方体模型不再附属于某
![](/icons/86239yi.gif)
模式
![](/icons/86239dou.gif)
而是附属于某
![](/icons/86239yi.gif)
数据库
![](/icons/86239dou2.gif)
在 Design Studio 中
![](/icons/86239dou.gif)
立方体模型在物理数据模型中
![](/icons/86239de.gif)
路径为“数据库 ->OLAP 对象 ->[ 立方体模型 ]”
![](/icons/86239dou.gif)
相比较 V9.5 中立方体模型
![](/icons/86239de.gif)
路径“数据库 -> 模式 ->OLAP 对象 -> 立方体模型 ->[ 立方体模型 ]”
![](/icons/86239dou.gif)
立方体模型在 V9.7 中
![](/icons/86239de.gif)
调整使得立方体模型设计在同
![](/icons/86239yi.gif)
数据库中可以跨越区别
![](/icons/86239de.gif)
模式更加合理
![](/icons/86239dou2.gif)
所以通过立方体模型向导创建
![](/icons/86239de.gif)
立方体模型最终
![](/icons/86239de.gif)
路径为:“OLAPDemo->Data Models->Database Model.dbm->GSDB->OLAP Objects-> SLS_SALES_FACT”
图 10. 更新后
![](/icons/86239de.gif)
立方体模型
![](http://CrazyCoder.cn/WebFiles/200912/fdc6fa77-644b-4c23-97ff-6a1f31639f06.jpeg)
查看原图(大图)
更新事实
通过立方体模型向导
![](/icons/86239dou.gif)
事实表中
![](/icons/86239de.gif)
外键会添加为事实对象中
![](/icons/86239de.gif)
属性
![](/icons/86239dou.gif)
通常不需要用户进行修改
![](/icons/86239dou.gif)
而除外键的外
![](/icons/86239de.gif)
其他列都会被添加为事实中
![](/icons/86239de.gif)
度量
![](/icons/86239dou.gif)
用户需要根据实际
![](/icons/86239de.gif)
应用需要添加
![](/icons/86239dou.gif)
修改或删除事实中
![](/icons/86239de.gif)
度量
![](/icons/86239dou2.gif)
下面将对区别
![](/icons/86239de.gif)
度量进行添加:
添加计算
![](/icons/86239de.gif)
度量(Calculated Measure):由于通过立方体模型向导生成
![](/icons/86239de.gif)
度量都是直接取自事实表中
![](/icons/86239de.gif)
列
![](/icons/86239dou.gif)
如果用户需要对现有
![](/icons/86239de.gif)
度量或者属性或者列进行数学运算从而得到
![](/icons/86239yi.gif)
个定制
![](/icons/86239de.gif)
度量
![](/icons/86239dou.gif)
则可以通过添加计算
![](/icons/86239de.gif)
度量来实现
![](/icons/86239dou2.gif)
例如
![](/icons/86239dou.gif)
我们想定义
![](/icons/86239yi.gif)
个度量可以方便
![](/icons/86239de.gif)
现实毛利占总销售
![](/icons/86239de.gif)
比例
![](/icons/86239dou.gif)
则在事实对象中添加
![](/icons/86239yi.gif)
个计算
![](/icons/86239de.gif)
度量 GrossProfitPercentage
![](/icons/86239dou.gif)
在“OLAP SQL Expression Builder”中指定计算度量
![](/icons/86239de.gif)
表达式为“@Measure(GROSS_MARGIN) / @Measure(SALE_TOTAL)”
![](/icons/86239dou2.gif)
添加 MDX 计算
![](/icons/86239de.gif)
度量(MDX Calculated Measure):我们可以在事实对象中添加 MDX 计算
![](/icons/86239de.gif)
度量
![](/icons/86239dou.gif)
MDX 计算
![](/icons/86239de.gif)
度量和计算
![](/icons/86239de.gif)
度量相比
![](/icons/86239dou.gif)
MDX 计算
![](/icons/86239de.gif)
度量可以使用现有
![](/icons/86239de.gif)
MDX 相关
![](/icons/86239hanshu.gif)
进行定义
![](/icons/86239dou2.gif)
在运行时
![](/icons/86239dou.gif)
MDX 计算
![](/icons/86239de.gif)
度量会交由 Cube Server 进行解析
![](/icons/86239dou.gif)
而计算
![](/icons/86239de.gif)
度量会交由数据库进行数学运算
![](/icons/86239dou2.gif)
例如我们需要在度量中获取零售商位置
![](/icons/86239de.gif)
默认值
![](/icons/86239dou.gif)
则我们可以通过 MDX
![](/icons/86239hanshu.gif)
DEFAULTMEMBER 从零售商维度中获取
![](/icons/86239dou.gif)
MDX 表达式为: “[SLS_RTL_DIM].[RETAILER_SITE_KEY].DEFAULTMEMBER”
![](/icons/86239dou.gif)
对定义
![](/icons/86239de.gif)
MDX 计算
![](/icons/86239de.gif)
度量命名为 [MDX Default Retailer Site]
![](/icons/86239dou2.gif)
设置默认
![](/icons/86239de.gif)
度量:普通度量
![](/icons/86239dou.gif)
计算
![](/icons/86239de.gif)
度量和 MDX 计算
![](/icons/86239de.gif)
度量都可以做为事实
![](/icons/86239de.gif)
默认度量
![](/icons/86239dou2.gif)
我们在这里设置度量“SALE_TOTAL”作为默认
![](/icons/86239de.gif)
度量
![](/icons/86239dou2.gif)
右键“SALE_TOTAL”在弹出
![](/icons/86239de.gif)
菜单中选择“Set as default”
![](/icons/86239dou2.gif)
更新维度
在 V9.7 中
![](/icons/86239dou.gif)
随着容器模型
![](/icons/86239de.gif)
引入
![](/icons/86239dou.gif)
在 Design Studio 中允许用户定义私有维
![](/icons/86239dou.gif)
这样就使得立方体模型设计过程中保持了很好
![](/icons/86239de.gif)
灵活性和封装性
![](/icons/86239dou.gif)
同时在 V9.7 中对于共享维
![](/icons/86239de.gif)
保留
![](/icons/86239dou.gif)
延续了 V9.5 中维度在区别
![](/icons/86239de.gif)
立方体模型的间
![](/icons/86239de.gif)
共享
![](/icons/86239dou.gif)
从而可以提高用户开发
![](/icons/86239de.gif)
高效性
![](/icons/86239dou2.gif)
如果多维模型是在 V9.5 中设计
![](/icons/86239de.gif)
![](/icons/86239dou.gif)
那么所有
![](/icons/86239de.gif)
维度默认为共享维
![](/icons/86239dou.gif)
通过多为模型元文件进行移植时
![](/icons/86239dou.gif)
在 V9.7 中得到
![](/icons/86239de.gif)
维度仍然为共享维
![](/icons/86239dou2.gif)
在 V9.7 中用户可以把私有维进行共享
![](/icons/86239dou.gif)
但是共享维不能改变为私有维
![](/icons/86239dou2.gif)
同时由于共享维
![](/icons/86239de.gif)
特殊性
![](/icons/86239dou.gif)
如果用户在立方体模型中对共享维进行修改
![](/icons/86239dou.gif)
那么所做
![](/icons/86239de.gif)
修改对所有共享该维
![](/icons/86239de.gif)
立方体模型均可见
![](/icons/86239dou.gif)
共享维
![](/icons/86239de.gif)
更新会影响到已有立方体模型和立方体
![](/icons/86239dou2.gif)
通过立方体模型向导生成
![](/icons/86239de.gif)
维度有两种:规则维和时间维
![](/icons/86239dou2.gif)
如果维表中有表名中包含“time”
![](/icons/86239dou.gif)
则通过该维表生成
![](/icons/86239de.gif)
维度将被自动申明为事件维
![](/icons/86239dou.gif)
通过其他维表生成
![](/icons/86239de.gif)
维度则会申明为规则维
![](/icons/86239dou2.gif)
在本节
![](/icons/86239dou.gif)
我们通过对维度“SLS_PRODUCT_DIM”和“GO_TIME_DIM”进行更新来看在 Design Studio 中如何编辑维度
![](/icons/86239dou2.gif)
添加属性:我们添加属性以供维层次使用
![](/icons/86239dou.gif)
直接将列“GOSALESDW ->GO_TIME_DIM->CURRENT_YEAR”添加为属性从而得到属性“CURRENT_YEAR (GO_TIME_DIM)”
![](/icons/86239dou.gif)
添加属性“CURRENT_MONTH (GO_TIME_DIM)”
![](/icons/86239dou.gif)
属性指向已有
![](/icons/86239de.gif)
表列“GOSALESDW ->GO_TIME_DIM-> CURRENT_MONTH”
![](/icons/86239dou2.gif)
更新层:重命名层“PRODUCT_BRAND_CODE”为 “Level_Product_Brand”
![](/icons/86239dou.gif)
添加列 “GOSALESDW->SLS_PRODUCT_BRAND_LOOKUP->PRODUCT_BRAND_TC”作为维度
![](/icons/86239de.gif)
属性
![](/icons/86239dou.gif)
在层 “Level_Product_Brand”
![](/icons/86239de.gif)
相关属性中
![](/icons/86239dou.gif)
添加属性“PRODUCT_BRAND_TC (SLS_PRODUCT_BRAND_LOOKUP)”到相关属性中并制定为默认属性
![](/icons/86239dou2.gif)
这样在用户查询并钻取到 “Level_Product_Brand”时
![](/icons/86239dou.gif)
会通过默认属性显示相应
![](/icons/86239de.gif)
繁体中文名称
![](/icons/86239dou2.gif)
添加层:在维度“GO_TIME_DIM”中
![](/icons/86239dou.gif)
只有 Day 和 Quarter 两层
![](/icons/86239dou.gif)
我们通过添加层来完善该维度
![](/icons/86239de.gif)
层次结构
![](/icons/86239dou2.gif)
现在我们通过右键“GO_TIME_DIM->Levels”
![](/icons/86239dou.gif)
选择“Add Level”打开层创建向导
![](/icons/86239dou2.gif)
输入层名称“Year”
![](/icons/86239dou.gif)
选择其类型为“Time or Date”中
![](/icons/86239de.gif)
“Years”
![](/icons/86239dou.gif)
下
![](/icons/86239yi.gif)
步
![](/icons/86239dou.gif)
我们添加属性“CURRENT_YEAR (GO_TIME_DIM)”作为层
![](/icons/86239de.gif)
关键属性
![](/icons/86239dou.gif)
添加属性“CURRENT_YEAR (GO_TIME_DIM)”作为层
![](/icons/86239de.gif)
相关属性和默认属性
![](/icons/86239dou.gif)
下
![](/icons/86239yi.gif)
步
![](/icons/86239dou.gif)
我们指定属性“CURRENT_YEAR (GO_TIME_DIM)”
![](/icons/86239de.gif)
顺序为“1”
![](/icons/86239dou.gif)
排序为降序“Descending”
![](/icons/86239dou.gif)
单击完成
![](/icons/86239dou2.gif)
相同
![](/icons/86239de.gif)
顺序我们添加层“Month”
![](/icons/86239dou.gif)
类型为“Time or Date”中
![](/icons/86239de.gif)
“Months”
![](/icons/86239dou.gif)
关键属性为“CURRENT_MONTH (GO_TIME_DIM)”
![](/icons/86239dou.gif)
相关属性和默认属性为“CURRENT_MONTH (GO_TIME_DIM)”
![](/icons/86239dou.gif)
指定属性“CURRENT_MONTH (GO_TIME_DIM)”
![](/icons/86239de.gif)
顺序为“1”
![](/icons/86239dou.gif)
排序方式为升序“Ascending”
![](/icons/86239dou2.gif)
更新层次结构:我们在完成层添加的后
![](/icons/86239dou.gif)
需要将层添加到层次
![](/icons/86239de.gif)
结构 “GO_TIME_DIM”中
![](/icons/86239dou.gif)
打开层次
![](/icons/86239de.gif)
结构“GO_TIME_DIM”
![](/icons/86239de.gif)
属性页面
![](/icons/86239dou.gif)
在“Levels”下添加层“Year”和“Month”
![](/icons/86239dou.gif)
同时调整层
![](/icons/86239de.gif)
顺序为“Year”
![](/icons/86239dou.gif)
“QUARTER_KEY”
![](/icons/86239dou.gif)
“Month”和“DAY_KEY”