这篇文章提供了一个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的新资料库。

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

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

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

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

创建物理模型

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

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

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

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

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

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

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

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

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

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

创建逻辑模型

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

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

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

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

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

我感觉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”。

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

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

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

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

此时逻辑表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内逻辑字段所需的物理表,以及表间的关联关系。(我不确定是否一定要这样做,物理表间的关联在物理模型中已经设置了,为什么这里还要做一遍?)

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

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

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

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

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

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

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

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

Member层的层键设置如下:

Detail层的设置与Member层类似。

创建展现模型

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

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

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

保存资料库

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

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

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

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

配置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啦。

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

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

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

参考

[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

oracle biee资料库,Hello oracle BIEE 资料相关推荐

  1. oracle输出hello world,Oracle BIEE的开发讲解 从helloworld开始

    目录 创建资料库 BIEE的资料库(Repository)是一个后缀名为rpd的物理文件,其中存储了三类元数据:数据源物理模型,逻辑模型,以及展现模型. Oracle BI Server是资料库的使用 ...

  2. biee mysql_【Oracle BIEE学习笔记一】Oracle BIEE简介 | 学步园

    一.Oracle BIEE架构 两大任务: 1.解释逻辑SQL查询和对适当的数据源写入相应的物理查询: 2.对物理结果集进行变换和组合,并执行最终计算. 二.Oracle BI资料库中的三层结构 1. ...

  3. oracle 起停脚本,Oracle BIEE启停脚本

    作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...

  4. biee的书 oracle_Oracle BIEE怎样连接Oracle数据库

    Oracle BIEE直接连接使用Oracle数据库是一件比较简单的事情,现在我们以Oracle 10g数据库为例.Oracle BIEE要连接Oracle数据库,首先要确保Oracle数据库是出于服 ...

  5. 最全小布老师所有视频推荐--oracle视频资料库

    很不错的oracle视频资料,很全很多,而且讲得很不错 ,强烈推荐 ~~~ 最全小布老师所有视频推荐--oracle视频资料库 King作品:Oracle RAC系列培训 共七集 完 http://w ...

  6. Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明

    一.自动诊断资料档案库(ADR) 1.1 ADR 说明 ADR (AutomaticDiagnostic Repository) ,ADR 是一个基于文件的资料档案库,用于存放数据库诊断数据(如跟踪. ...

  7. Oracle 小花猫-超详细学习资料

    Oracle----小白猫笔记1 一.Oracle简介 1.1.什么是Oracle 二.Oracle语法 2.1.数据类型 2.2.运算部分 三.DQL语法 3.1.通用语法 3.2.运行顺序 3.3 ...

  8. BIEE入门篇之一 BIEE的安装

    最早拿到的安装文件的时候,其实是Siebel7.8,安装界面如下: 安装也比较麻烦,安装了Siebel之后,还需要安装tomcat,当然没装jdk,那还得首先装jdk才行.由于不是免费产品,所以在安装 ...

  9. oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?

    oracle中用什么命令查找数据文件所在路径呢? 来源:互联网  宽屏版  评论 2009-07-09 18:39:28 分类: 电脑/网络 >> 电脑常识 问题描述: 在pl/sql中执 ...

  10. Oracle中限定日期,Oracle 日期的一些简单使用

    Oracle 日期的一些简单使用 更新时间:2009年08月04日 16:52:35   作者: 学习了这么长的数据库,突然意识到自己对于数据库主外键的意义完全弄不懂,是唯一标识一条记录,是为连接查询 ...

最新文章

  1. Python学习笔记.OS学习笔记 OS操作系统(operating system)(三) 日期和时间
  2. PHP for循环中的sql语句,php – 在foreach循环中使用SQL结果
  3. 使用Android Studio新建Project并建立多个module
  4. NR 1G - 5G基站介绍
  5. form 表单上传文件及传输数据的编码格式
  6. linux解压tar到目录,在Linux系统中将tar文件解压到不同的目录中的教程
  7. 【学习笔记】智能制造问与答
  8. [LeetCode]Majority Element
  9. 【译文】漫谈ASP.NET中的Session
  10. C#10,带来了Date和Time类型
  11. 18-ESP8266 SDK开发基础入门篇--TCP 服务器 RTOS版,串口透传,TCP客户端控制LED
  12. 代码整洁之道-对象和数据结构
  13. String length must be a multiple of four.
  14. 计算一个子网掩码有多少个有效ip地址_一个月有多少个工作日,你会计算了吗?...
  15. c语言指针的概念和作用,指针:C语言的重要概念和特色.pdf
  16. 第二百二十七节,jQuery EasyUI,ComboTree(树型下拉框)组件
  17. linux c 静态连接,Linux cmake 静态链接boost
  18. mysql generic安装_MySQL 5.7 linux generic 版本安装
  19. google扩展工具Octotree使用(2020-09-01)
  20. 一起学爬虫(Python) — 03

热门文章

  1. 解决硬盘打不开的问题
  2. excel合并计算机操作,Excel如何快速合并多个单元格的内容?
  3. header html 高度,CSS经典基础布局,自适应高度。header,content,footer.
  4. 如何根据经纬度查询地理位置
  5. windows系统——更改系统关机音效
  6. 大数据技术之大数据概论
  7. Java发送mail报错“java.util.ServiceConfigurationError: com.sun.mail.imap.IMAPProvider not a subtype”
  8. IntelliJ IDEA 12.0搭建Maven Web SSH2架构项目示例(二)
  9. mysql答案_MySQL练习(一)参考答案
  10. 我做过的本职之外的事情