BIEE_biee报表日志

目录

创建资料库

创建物理模型

创建逻辑模型

创建展现模型

保存资料库

配置 Oracle BI Server 使用新资料库

在Oracle Answer中定义查询

参考

创建资料库

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

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

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

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

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

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

创建物理模型

物理模型可以手工创建,但是最简单的方法是从源数据库中直接导入。通过菜单 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),而应使用逻辑连接[5]

在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选项[6]

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

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

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

我对示例数据的分析需求是:要按家庭成员维度汇总消费金额,还要从家庭成员下钻到消费明细描述。由于消费明细描述位于消费事实表(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)[9]; Grand Total层(Member Total)内不添加逻辑字段[10]。Member维度的结构如下:

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

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

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

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”。[12]

配置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 可以下钻到消费明细

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200717.html原文链接:https://javaforall.cn

原文地址:https://cloud.tencent.com/developer/article/2150115

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340