biee 11g学习
1. 创建资料档案库文件(RPD) 文件数据库
1.1 创建数据源连接 运行Net Manager 用于BIEE的数据库服务
1.2 模型的建立
1.运行oracle bi 管理工具,新建资料.档案库(二进制文件、名称、位置、导入元数据是、资料档案库口令admin123)
2.选择数据源(连接类型OCI 10g/11g,数据源名称MERIT,用户名DEV_BIPLATFORM,密码biee)
3.选择元数据类型 (表、关键字、外键)
4.选择元数据对象 用于把所需表创建成资料档案库
5.点击完成
6.保存RPD文件,检查是否有错误
1.3 加载rpd文件
1.启动BI服务后登入http://192.168.2.5:7001/em weblogic/weblogic1
2.BusinessIntelligence-》coreapplication
3.解锁并编辑,指定到新建的rpd文件(选择rpd文件,再填写密码admin123)
4.应用-激活更改
5.重新启动所有BIEE服务
1.4 搭建模型
注意:在rpd文件物理层不要修改数据库用户和表的名称
1.联机模式打开rpd。建立事实表和维度表之间的关系。
2.点击新建连接
2. 报表制作
图表组件制作了条形图、线形图、面积图、饼图、条线图(双坐标)、帕累托图、散点图、雷达图、刻度盘、灯泡、漏斗图。表格组件、数据透视表、过滤器、提示、滑块过滤显示等。
仪表盘相当类似于面板或画布,用于将上述创建的标题、表格、图标以特定的布局组装在一起。
3. 遇到的问题及部分问题的解决方法:
1.如何修改列名?
将列的英文名修改问中文名,在“视图”--》“表”点编辑--》“列和度量”点更多选项--》“格式化标题”
2.在提示定义多个“选项列表” ,如果其中两个“选项列表”存在二级级联问题,参数如何接收?
使用@进行接收
3.如何修改横坐标轴上显示的刻度值? 如:滑块是年,横坐标是月,如何让月只显示1到12?
4.计量表和漏斗图的刻度(或者 阈值)可以自己设置吗?
5.rpd模型建模 选择元数据问什么只能在DEV_BIPLATFORM下选择?
因为在上一步“选择数据源”时填写的是DEV_BIPLATFORM,如果填写的scott则在“选择元数据”时可以看到scott可见的用户及表信息。
4.RPD建模理论
物理建模
模型为星型结构,即以多张维度表为父表,以一张事实表为子表,时间维度做为单独的维度表存在。
逻辑建模
自定义度量 对事实表中度量字段点“属性”,设置“默认聚合规则”为“SUM”。
字段中文化 对维度表、事实表中个字段点“重命名”。
表名加前缀,维度表加Dim_,事实表加Fact_。
钻取 :每个维表都应该有对应的层级关系(Dimension Hierarchy),对每个层级设定合理的数值(拥有的成员数)。
展现层建模
表名、字段名全部改为中文
删除维度表中的主键字段、删除事实表中主键和外键字段
排序,时间维放在最前,事实表放在最后。各模型的维度排列顺序保持一致。
事实表中只应包括指标列(度量列)。
5.RPD建模实践
1、物理层(Physical Layer):
1)总是通过Foreign Key连接,而不是“Complex Joins”。
2)模型为星型结构。
3)连接池选用Native的连接方式。
2、语义对象层(Business Model And Mapping Layer):
1)命名,逻辑表具有前缀标识:Dim_、Fact_;
2)列名真正的反映业务含义,非数据库字段名。
3)物理主键(事实表)应该去掉,除非报表中要求展现;逻辑维表具有业务导向逻辑主键。
4)维表中包含维度属性列,不应该包含指标列,反之,事实表中应更多的是指标列,同时对指标列计算方法给与指定。
5)模型为星型结构,维表和事实表应该使用”Complex Joins”。
6)每个维表都应该有对应的层级关系(Dimension Hierarchy),对每个层级设定合理的数值(拥有的成员数)。
7)尽量不要把指标放在一个事实表中,例如:实际值放在实际逻辑表中,预测值放在预测表中。
3、表示层(Presentation Layer):
1)通用维度排列顺序一致性。
2)前缀去掉。
3)时间维放在最前面,指标事实表放在最后。
6.业务系统与BI系统数据库设计区别
以数据的输入、存储、输出为主线的系统分析:
业务系统数据输入以页面为主,BI系统数据输入从业务系统抽取(ETL);
业务系统和BI系统的数据存储都是数据库;
业务系统的输出页面以表格(grid)和表单(form)为主,BI系统的输出页面以表格和图表为主。
业务系统数据库设计主要考虑数据输入的简易性,所以要求数据库设计满足3范式,减少数据输入的冗余。
BI系统数据库设计主要考虑数据输出的简易性,所以要求数据库设计适当增加数据冗余,以满足输出性能。
时间维度在业务系统与BI系统中的区别:
时间维度在业务系统中只作为表中的一个字段存在,用于记录业务活动发生的时间点。
时间维度在BI系统中作为一个维度表存在,用于汇总指标在该维度上的度量。
7.BIEE与其它系统集成
在做BIEE与其它系统集成的时候,经常需要把BIEE的页面用Iframe嵌入其它系统中(比如业务系统),在接合SSO,那么用户就可以直接在业务系统中查看BI报表而无需二次登录了。
默认情况下,出于安全的考虑(clickjacking),BIEE 11g是不能直接嵌入iframe中的,
会提示“OBIEE content can not be displayed in the IFrame”
如果有这方面的需要,我们需要进行如下配置:
修改MV_HOME/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1目录下的instanceconfig.xml
在Security标签内加入<InIFrameRenderingMode>allow</InIFrameRenderingMode>
注:InIFrameRenderingMode有三种取值,分别是prohibit、sameDomainOnly、allow 大家可以根据自己的实际需要选择对应的值
修改MV_HOME/Oracle_BI1/bifoundation/web/app/WEB-INF 目录下的web.xml
添加如下内容:
<context-param>
<param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
<param-value>never</param-value>
</context-param>
修改完之后重启BI服务即可,如果还不行,请清除浏览器缓存。