企业绩效管理网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1355|回复: 1

OBIEE权限管理,时间维和时间维函数

[复制链接]

57

主题

61

帖子

265

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
265
发表于 2014-2-12 00:16:32 | 显示全部楼层 |阅读模式
OBIEE中设置用户权限的方法有三种,一种是内部权限设置,是在Administration tool中的manage/security下直接设置,一种是通过外部权限表设置,还有一种是在前台报表的管理/权限管理下设置。   关于权限这一部分我们可以参考OBIEE的官方文档:Administration DocumentationServer Administration GuideSecurity in Oracle BI。
   1)
BIEE内部权限机制:这种方法相对简单一点,即在security中新建用户和组。
过程如下:new/user新建用户,permissions/filters设定权限,logging lever是日志的详细程度,password exprires every用户有效时间;new/group新建组,同样可以限定权限。
   [/url]

通过对user或group permissions下的filters的设定,可以对用户权限做限定:
  [url=http://report.retailsolution.cn/wp-content/uploads/2008/12/1111.png]


注:
1.
一个用户可以属于多个组,一个组可以属于多个组,同一层的组对同一个用户是“或”的关系,即只要在同一层中有一个允许权限,那么这个用户就有这个权限。
2.
Administrator是系统默认用户,属于Administrators组,不可以删除,在web下可以管理其他用户权限,通过“设置/管理”。
2)
外部权限表:通过外部权限表设置权限的方法需要三个步骤
1>
在数据库中新建外部权限表。建表时必须包括”USERNAME”和”PASSWORD”两项,用来记录登录用户和密码,根据需要添加相应的限定属性列。
2>
将外部权限表与BIEE想关联。关联外部权限表是通过Administration tool中的manager/variables/session新建变量实现的。到这一步就可以实现新建用户与用户组。
[/url]

3>
添加权限限定条件。首先要将外部权限表添加Administration tool的物理层,然后在逻辑层中找与权限限定相关的表,在Sources/content/where中添加限定条件。
  [url=http://report.retailsolution.cn/wp-content/uploads/2008/12/1313.png]

注:
1.
在限定条件中用到POSITION(character_expression1 IN character_expression2) 和valueof()函数,其中position()函数用来返回character_expression1在character_expression2中的位置,数值类型,如果不存在则返回0;valueof()可以获得相应变量的值,其中变量用“NQ_SESSION.”引用。
2.
当同时使用两种方法对用一个用户设定权限时,权限成交集状态。例如在security中设定A用户只能看到全钢胎,在外部权限表中设定A用户只能看到半钢胎,则在web中不会查询到结果;如果在security中设定A用户只能看到全钢胎,设定外部权限表中A用户可以看到全钢胎,半钢胎,斜交胎,则在web中A用户只可以看到全钢胎。
感想:通过学习发现这两种权限设定方法各有优点,前者设定起来相对简单,但是当用户数量很大时就显得比较麻烦;后者对然设置起来相对复杂一点,但是通过一张表来管理用户及其权限,一目了然,而且以后管理起来也比较方便。
3) 前台界面权限管理
以上两种方法都是对具体用户的权限管理,那么在前台报表的权限管理中我们可以实现对不同仪表盘,目录,访问,会话等等的管理:
  [/url]
  [url=http://report.retailsolution.cn/wp-content/uploads/2008/12/152.png]

Oracle BIEE 中的时间维与时间轴函数:
   累计、同比、环比是 BI 项目中常用的分析方法。Oracle BIEE 提供的解决方法是时间轴函数。Oracle BIEE 现在支持两个时间轴函数:Ago:从当前时间起回溯用户指定的 n 个时间段,返回当时的度量值;ToDate:从用户指定时间段的起点开始,到当前时间为止,计算度量值的累计值。
   使用时间轴函数的前提条件是在逻辑模型内定义了时间维。上面两个函数说明中的“时间段”实际上指的是时间维的层级(Level)。例如使用 Ago 函数定义“去年同期值”,指定的时间段为“年”这一层级,指定的回溯周期为 1,表示得到去年的值。再比如使用 ToDate 函数定义“本年累计值”,指定的时间段也是“年”这一层级,表示从年的起点(年初)开始到当前时间为止,求度量值的累计值。
  [url=http://report.retailsolution.cn/wp-content/uploads/2008/12/162.png][/url]
1.
如果某个物理表的字段被映射到了时间逻辑表上,那么这个物理表中的字段不能再映射到其他逻辑表中。
2.
作为时间逻辑表的数据源的物理表,只允许与物理事实表关联。且关联只能基于外键,而不能基于复杂连接。
3.
时间维与普通维度有两处不同。
首先,双击维度“Date”节点,在“Dimension”对话框中需要选中“Time Dimension”选项,以表明此维度对象为时间维度。其次,时间维度中需要定义时间序列键(Chronological Key)。时间序列键的作用是表明时间维中具有一组单调增加的时间序列值。定义时间序列
时存在以下原则:时间维中,至少一个层级上应定义有时间序列键。物理存储的最细时间粒度上必须定义时间序列键。时间维的同一层级上可以建立多个时间序列键,但只有第一个时间序列键有效。
定义好时间维后,就可以在逻辑事实表中定义使用时间轴函数的逻辑列了。

相关函数语法:
ago(<measure_expression>, <model_id>.<dimension_id>.<level_id>, <integer_literal>):
第一个参数是逻辑字段用于时间轴运算的度量值;第二个参数是逻辑模型时间维的层级,表明回溯的时间单位;第三个参数表示回溯的时间周期,1 则为回溯一年,即去年。
todate(<measure_expression>, <model_id>.<dimension_id>.<level_id>):
第一个参数是逻辑字段,是用于时间轴运算的度量值;第二个参数是逻辑模型时间维的层级表明累计计算开始自年时间的起点,终止到当前时间。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

17

帖子

42

积分

新手上路

Rank: 1

积分
42
发表于 2014-2-25 16:07:08 | 显示全部楼层
您说的10g权限管理,11g权限管理则不同,创建用户,把用户分配到组,在把组分配到应用程序角色。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|企业绩效管理网 ( 京ICP备14007298号   

GMT+8, 2022-5-29 03:24 , Processed in 0.106872 second(s), 14 queries , Memcache On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表