oracle biee资料库,Hello oracle BIEE 资料

这篇文章提供了一个Hello World式的例子,讲述如何创建一个最简单的BIEE资料库。本文使用的示例数据可以在从此链接下载:。

目录

创建资料库

BIEE的资料库(Repository)是一个后缀名为rpd的物理文件,其中存储了三类元数据:数据源物理模型,逻辑模型,以及展现模型。Oracle BI Server是资料库的使用者:在前端,BI Server通过ODBC将资料库中的逻辑模型及展现模型提供给Oracle BI Presentation Server;在后端,BI Server通过各种适配器访问与资料库中物理模型对应的数据源。资料库rpd文件存储在 $OBIEE_HOME\server\Repository目录里。

首先,我使用BIEE Administration Tool创建一个名为zw1840的新资料库。

69678_1828222_1.jpg

69678_1828222_2.jpg

点“保存”按钮后,可以看到Administration Tool打开了一个空资料库。资料库的编辑窗口分为三栏,从右至左依次为:

ŸPhysical:定义数据源的类型和连接方式,还有数据源物理表结构,字段数据类型,物理表的主外键之类的信息。

ŸBusiness Model and Mapping:定义逻辑模型,以及逻辑模型与物理模型间的映射关系。

ŸPresentation:定义展现模型。展现模型中的一个Catalog对应Oracle Answer中的一个Subject Area。

69678_1828222_3.jpg

创建物理模型

物理模型可以手工创建,但是最简单的方法是从源数据库中直接导入。通过菜单File\Import\from Database开始导入。

69678_1828222_4.jpg

在“Select Data Source”对话框中设置导入元数据时使用的数据源连接信息。

69678_1828222_5.jpg

在“Import”对话框里可以选择需要导入的数据库对象,此对话框可以根据对象类型筛选树形列出的数据库对象。我的习惯是为所有数据库表建立视图,使用视图的好处是:如果数据库发生了变化只需要修改视图定义,BIEE中的修改工作可以减少很多。因此在“Import”对话框我只选择导入视图对象。在这个例子中,我首先导入消费记录事实表(V_FINANCE_EXPENSE)和家庭成员维表(V_COMMON_MEMBER)。

69678_1828222_6.jpg

在第一次导入物理模型时,还需要设定BI Server进行数据查询时使用的连接信息

69678_1828222_7.jpg

注意上面设置了两次连接信息,一次在“Select Data Source”对话框,此处的连接信息是供Administration Tool导入元数据用的;另一次在“Connection Pool”对话框,此处的连接信息是供BI Server进行数据查询时使用的。如果你的Administration Tool和BI Server装在不同的机器上则需要在两台机器上分别配置Oracle的TNS。

现在,在“Physical”窗口可以看到刚才导入的物理模型了。

69678_1828222_8.gif

在Database节点(TNS_VZW1840_ORADB10G)上使用右键菜单“Physical Diagram\Object(s) and All Joins”可以查看数据源的物理模型图。

69678_1828222_9.jpg

69678_1828222_10.jpg

接下来要定义各物理表的主键。双击V_COMMON_MEMBER表,在“Physical Table”对话框的“Keys”页上点“New”按钮,选择MEMBER_ID字段作为主键。使用同样的方法将V_FINANCE_EXPENSE表的CONSUME_ID字段定义为主键。

69678_1828222_11.jpg

69678_1828222_12.jpg

最后定义物理表之间的外键。双击V_FINANCE_EXPENSE表,在“Physical Table”窗口的“Foreign Keys”页上点“New”按钮,设定V_COMMON_MEMBER表的MEMBER_ID字段为V_FINANCE_EXPENSE表MEMBER_ID字段的外键。

69678_1828222_13.jpg

再次查看物理模型图你会发现两个表之间建立了1..N的引用关系。

69678_1828222_14.jpg

创建逻辑模型

将整个Physical Schema“ZW1840”拖到“Business Model and Mapping”窗口。

69678_1828222_15.jpg

Administrator Tool提供了一个偷懒的工具,可以自动地修改逻辑表和逻辑字段的名称,完成去掉下划线、首字母大写之类的工作,不过这个功能对于国内项目意义不大。感兴趣的话可以试试“Tools\Utilities”中的“Rename Wizard”。我用这个工具修改了逻辑模型、逻辑表及字段的名称。

69678_1828222_16.jpg

Administrator Tool将按照物理模型的结构原样创建逻辑模型,自动将物理表的主键作为逻辑表的主键,同时创建逻辑表中的逻辑连接(Logical Join)。Server Administration Guide文档建议在逻辑模型中不要建立逻辑外键(Logical Foreign Key),而应使用逻辑连接。

在Business Model节点(Finance)上使用右键菜单“Business Model Diagram\Whole Model”可以查看逻辑模型图。

69678_1828222_17.jpg

69678_1828222_18.gif

注意Administrator Tool自动创建的逻辑连接,双击可以打开“Logical Join”对话框查看逻辑连接的详细情况。

69678_1828222_19.jpg

我感觉Administrator Tool自动创建的逻辑连接(Relationship_2004:3161206517091)中,连接方式“Inner”还有“Member Dim”表的Cardinality“0,1”不正确,修改为“Left Outer”和“1”。

Server Administration Guide文档建议逻辑模型中不要设置Driving选项。

对于逻辑事实表的度量字段,需要设定其默认的聚合方法。“Expense Fact”表的“Amount”字段为度量值,双击此字段,在“Logical Column”对话框的“Aggregation”页将其默认聚合方法设置为“SUM”。

69678_1828222_20.jpg

再看逻辑模型,“Amount”字段的图标发生了变化。

69678_1828222_21.jpg

为了实现钻取功能,需要在逻辑模型内创建维度。BIEE中的维度(Dimension)与Oracle数据库中的DIMENSION对象概念类似,其中包含层级(Level)以及由各层级构成的层次结构(Hierarchy)。维度所包含的逻辑列必须来自同一个逻辑表。

我对示例数据的分析需求是:要按家庭成员维度汇总消费金额,还要从家庭成员下钻到消费明细描述。由于消费明细描述位于消费事实表(V_FINANCE_EXPENSE)中,因此我需要改造逻辑表Member Dim,在其中添加消费明细字段。

将物理模型V_FINANCE_EXPENSE表的CONSUME_ID和DESCR列拖到逻辑模型的Member Dim表下。

69678_1828222_22.jpg

此时逻辑表Member Dim有两个逻辑表来源(Logical Table Source),Member Id和Member Name来自V_FINANCE_EXPENSE,Consume Id和Descr来自V_COMMON_MEMBER。双击逻辑表来源可以打开“Logical Table Source”对话框,在“Column Mapping”页可以查看逻辑列与物理表的映射关系。

从物理模型向逻辑模型拖放字段时,逻辑表来源是根据物理字段所在的物理表自动地建立的。按我的理解,Member Id/Member Name以及Consume Id/Descr来自同一物理数据源的两张物理表,可以使用同一个逻辑表来源。我需要在逻辑表来源中设定物理表间的关联关系,并重新映射逻辑字段。

删除逻辑表来源V_FINANCE_EXPENS,双击V_COMMON_MEMBER开始编辑Member Dim的逻辑表来源。

首先设定Member Dim内逻辑字段所需的物理表,以及表间的关联关系。(我不确定是否一定要这样做,物理表间的关联在物理模型中已经设置了,为什么这里还要做一遍?)

69678_1828222_23.jpg

之后定义逻辑字段与物理字段间的映射关系。

69678_1828222_24.jpg

由于将Consume Id加入了逻辑表Member Dim,因此Member Dim的逻辑主键不再是Member Id,应改为Consume Id。删除原来的逻辑主键,使用Consume Id创建新的逻辑主键。

经过重新整理的Member Dim是酱子的:

69678_1828222_25.jpg

现在可以依据逻辑表Member Dim创建维度了。

69678_1828222_26.jpg

首先定义Member维度的层次结构,由上至下依次为Member Total,Member,Detail。之后将逻辑字段放入相应的层次。与维度对应的逻辑表的主键必须放在最低层(Detail); Grand Total层(Member Total)内不添加逻辑字段。Member维度的结构如下:

69678_1828222_27.jpg

我还需要对每个层次进行设置,包括层次的元素数,以及层次的层键。

关于元素数的规则有:Grand Total层的元素数这只能为1;其他层次的元素数先设定一个大于1的数吧(具体规则还没搞清楚)。

层键为逻辑层元素的唯一组合,层键确定了钻取时的查询路径。层键的属性中可以设定此层键是否用于下钻,选择了“Use for drilldown”后此层键在Oracle Answer中才可用于下钻。

Member层的层键设置如下:

69678_1828222_28.jpg

69678_1828222_29.jpg

69678_1828222_30.jpg

69678_1828222_31.jpg

Detail层的设置与Member层类似。

69678_1828222_32.jpg

69678_1828222_33.jpg

69678_1828222_34.jpg

69678_1828222_35.jpg

创建展现模型

将整个Business Model“ZW1840”拖到“Presentation”窗口,Administrator Tool将按照逻辑模型的结构原样创建展现模型。

69678_1828222_36.jpg

展现模型的目录被称为Presentation Catalog,也就是在Oracle Answer中看到的Subject Area。在展现模型中,所有不希望业务用户看到的字段可以删掉,例如所有ID字段。经过修改后展现模型变成了这个样子:

69678_1828222_37.jpg

至此大功告成,Hello BIEE资料库设计完毕。

保存资料库

每次保存资料库文件时你都会看到提示

69678_1828222_38.jpg

这是Administrator Tool在检查资料库的完整性,你可以根据提示检查有问题的模型设置。一个新建的简单资料库不会有太多完整性问题,但第一次保存时你一定会看到这个警告:

69678_1828222_39.jpg

新创建的资料库Administrator密码为空,我们可以使用“Manage\Security”菜单打开“Security Manager”设置密码。

69678_1828222_40.jpg

双击Administrator用户设置密码。在这还可以顺便把“Logging Level”设为“2”。

69678_1828222_41.jpg

配置Oracle BI Server使用新资料库

修改Oracle BI Server的配置文件 $OBIEE_HOME\server\Config\NQSConfig.INI,找到“[ REPOSITORY ]”部分,指定新建的资料库文件:

[ REPOSITORY ]

REP_ZW1840 = zw1840.rpd, DEFAULT;

现在启动BIEE的三个服务Oracle BI Java Host,Oracle BI Presentation Server,Oracle BI Server,并启动BIEE的OC4J。

在Oracle Answer中定义查询

登录BIEE,用户/密码为当前NQSConfig.INI文件所使用的资料库中包含的用户/密码。进入Answer(BIEE的Ad Hoc工具)就可以在Subject Area中看到刚才定义的Expense Analysis啦。

69678_1828222_42.jpg

选择Subject Area打开查询界面,单击列名将列添加到查询窗格(Selection Pane),CTRL+单击列名将列添加到过滤器(Filters)。

69678_1828222_43.jpg

从Member Name可以下钻到消费明细

69678_1828222_44.jpg

69678_1828222_45.jpg

能下钻,怎么才能上钻呢?我还没有找到,向各位请教。

参考

[1] Deployment Guide p11

The Oracle Business Intelligence Server is a stand-alone process that maintains the logical data model which it provides to BI Presentation Services via ODBC. Metadata is maintained for the data model in a local proprietary file called the repository file (rpd). On the back-end, the BI Server connects to customer data stores via data source adaptors.

[2] Server Administration Guide p55

The Physical layer of the Administration Tool defines the data sources to which the Oracle BI Server submits queries and the relationships between physical databases and other data sources that are used to process multiple data source queries.

[3] Server Administration Guide p109

The Business Model and Mapping layer of the Administration Tool defines the business, or logical, model of the data and specifies the mapping between the business model and the physical layer schemas.

[4] Server Administration Guide p143

The Presentation layer provides a way to present customized views of a business model to users. Presentation Catalogs in the Presentation layer (called Subject Area in Oracle Answers) are seen as business models by Oracle BI Presentation Services users. They appear as catalogs to client tools that use the Oracle BI Server as an ODBC data source.

[5] Server Administration Guide p138

Logical foreign key joins might be needed if the Oracle BI Server is to be used as an ODBC data source for certain third-party query and reporting tools. Typically, you should not create logical foreign keys. This capability is in the Administration Tool to provide compatibility with previous releases.

[6] Server Administration Guide p140

CAUTION: Use extreme caution in deciding whether to specify a driving table. Driving tables are used for query optimization only under rare circumstances and when the driving table is extremely small (fewer than 1000 rows). Choosing a driving table incorrectly can lead to severe performance degradation.

[7] Server Administration Guide p115

Setting Default Levels of Aggregation for Measure Columns

[8] Server Administration Guide p125

In a business model, a dimension represents a hierarchical organization of logical columns (attributes) belonging to a single logical dimension table.

[9] Server Administration Guide p129

NOTE: The logical column(s) comprising the logical key of a dimension table must be associated with the lowest level of the dimension.

[10] Server Administration Guide p127

Grand total level

[11] Server Administration Guide p127

Level keys

[12] Server Administration Guide p215

Setting a Logging Level

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容安排 Oracle BIEE+ & BI SE1 —统一的基础平台 Essbase —绩效管理的基石 Oracle BIEE Demo Oracle BI 产品 Oracle商务智能套件企业版Plus 统一的商务智能基础架构 完善的洞察传递功能 旨在普及智能 完善的洞察传递功能 旨在普及智能 Oracle BIEE+ — 普及商务智能应用 获得最大效益,使每个人都能得到洞察力 交互式信息板中的指导性分析 动态、事件驱动的分析驱动着正确行为 简报 “Pack & Go”信息板 通过 Oracle Delivers 察觉和响应 实时的预测性智能 离线分析 具备所有功能的离线客户端 Excel和PowerPoint的高级集成 Oracle商务智能套件企业版 Cisco Systems 的企业商务智能 无处不在的智能 Oracle BIEE+ –普及商务智能应用 Oracle BIEE Architecture Oracle BI Server 功能强大的跨源可伸缩智能 简化的业务模型视图 高级计算和集成引擎 智能请求生成和优化的分布式数据访问 关键任务可伸缩性和性能 所有 OBIEE 表示服务的基础 通用企业信息模型 支持一致性、安全性、重用性、灵活性 Oracle BI Server 充分利用各类数据库本身的功能 Oracle BI Server 对于不同数据源重写功能– 能提供优化的各种数据源本身最优的SQL 经过证明的可伸缩性和灵活性 针对伸缩和性能而构建 优化的原生 SQL 功能传送 并行处理 集群 智能缓存 连接池 支持广泛的数据源 直接支持物理数据源 充分利用现有的 IT 投资 与异构系统的“可热插拔”集成 Oracle商务智能 –普及商务智能应用 Oracle BI 应用产品 基于 OBIEE 构建的预建分析应用程序 Oracle BI Standard Edition One Main BI Product for SMB: OBI SE One Complete BI System in a Box 内容安排 Oracle BIEE+ & BI SE1 —统一的基础平台 Essbase —绩效管理的基石 Oracle BIEE Demo Hyperion Essbase 市场领导的OLAP技术—#1 完全的多线程/并行处理引擎 登录、加载、计算、查询、导出 支持MOLAP、HOLAP 全面的、可扩展的函数库,基于Java的整合方式 分区技术 分摊、内置财务功能和多用户回写支持 提供控制到单元格级的权限管理 跨平台 – Windows NT到IBM OS390 强大的MS OFFICE集成功能 功能强大的计算引擎 由OLAP引擎基于立方体中所定义的层次对模型进行统计计算, 提供函数模版,随时粘贴使用 内嵌250个丰富的数学计算、财务计算和统计计算函数 内置了Expense Reporting、期初值、期末值、期间均值、2次计算、YTD、QTD等功能 提供专业的币种转换模型 支持过程化计算脚本,满足根据复杂的业务逻辑自定义计算规则,可单独计算立方体的任何块区 计算脚本可分顺序计算(serial calc)和并行计算(parallel calc)两种 顺序计算:按计算脚本中的顺序执行 并行计算:一个计算任务分成多个子任务,在多CPU上并行执行 Analytic Services先进的分析平台 满足全方位的分析应用 Essbase 创造了OLAP基准测试的记录! 内容安排 Oracle BIEE+ & BI SE1 —统一的基础平台 Essbase —绩效管理的基石 Oracle BIEE Demo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值