Biee中变量的总结

Biee的变量分几种(库变量,会话变量,介绍变量,请求变量,Biee内部定义的变量不说了),用起来经常让大家糊涂,再此做个总结,有异议的地方请消息给我·· 欢迎讨论~

现在开始吧,Administrator tool -Manage-Variable 下图~

这里是模型RPD定义变量的地方,也就是所定义的变量名都是保存在RPD模型中,Variable 所定义的变量类型分为两大类,一种是Repository(库变量),另外一种是Session(会话变量)。

其中Repository分两种变量的类型:Dynamic(动态变量)和Static(静态变量)
Session也分两种变量类型:System(系统变量)和Non-System(非系统变量)

现在说一下库变量的用途,库变量的Static(静态变量)经常是作为项目需求中经常用的固定值做为这个静态变量值的,举个例子:如果一个项目中有10个Dashboard,每个Dashboard有10个page,每个page的下标都需要带上公司的版权注释,当公司被收购了版权需要更改的话怎么办,改一百次版权信息?这里如果用静态变量的话就方便多了,只需修改变量对应的缺省值就可以了。

用法如图:


建立一个Static的Repository Variable


变量名为SRV缺省值为222050000,其中要注意一下类型Type,因为是静态的,所以不需要初始化块。

在前端直接就可以调用了

命名必须和静态变量的名称相同(不用解释吧)~



看一下效果


OK ,调用静态的库变量成功。

这里需要注意一下,表达式和筛选调用库变量的时候是可以VALUEOF('SRV')来引用,而其他地方调用的话例如文本:需要这么写@{biServer.variables['SRV']} 。

再看一下动态(Dynamic)的库变量的用途,例如:一个项目中,要求当用户登录的时候看到的数据是当天(当月)的数据,这时候我们需要用到动态的库变量(也有其他方法,不做介绍了)。

所谓的“当前”,就是此刻所在的月,所以这些需要设置初始化块来设置时间的更新设置。 如图:


Edit Data Source是编辑查询的地方,会返回若干行值;

Edit Data Target是指定查询返回的数据用于初始化哪个变量的。返回值的顺序和需要初始化的变量顺序需要严格对称;

Schedule的地方就是制定查询执行的频率,即多久更新一次变量。

前端的调用方法可以静态的库变量相同;下图依文本为例:


效果如下:

这里需要提醒一下。库变量无论是静态的或是动态的,在前端都是无法对起变量值进行更改的,当然如果是库变量的取的关系库表中的值,通过回写数据库的数据来改动态的库变量也是一种方法哦~


再看一下什么时候Session会话变量,回话变量的设置方法和库变量类似,也是可以直接设置Variables,当然也可以定义初始化块来定义更复杂的会话变量,其中会话变量分系统变量和非系统变量。

系统会话变量:DISPLAYNAME,EMAIL,GROUP,LAST_SYNCH_TIME and THIS_SYNCH_TIME,

PORTALPATH,REQUESTKEY,SKIN,USER,WEBGROUPS.这里常用到的就USER,GROUP,DISPLAYNAME三个,其他变量是含义请参考 Business Intelligence Server Administration Guide。非系统会话变量名称可以自定义,但不要和系统变量同名即可,这里不再说步骤了,和库变量定义相同,这里定义了一个非系统回话变量的如下:



其中Edit Execution Precedence是加载其他的应用程序定义的变量(例如:LDAP定义的用户变量)。

Test可以测试查看到变量名称和其缺省值



再前端调用一下


注意调用会话变量的时候是VALUEOF(NQ_SESSION.变量名)而调用库变量的时候是VALUEOF(变量名)


OK~调用成功。

注意当不加指标列的时候(只有会话变量列的时候会报错)~


系统自带的会话变量如USER,GROUP等就不举例了,网上有很多实例,也可以去看我的相关LDAP权限控制博文。

再看看前端可以定义的变量~

前端可以定义的变量都是创建提示中设置


他分为介绍变量和请求变量,其中介绍变量是把提示中(也可叫筛选器)的所选项作为变量的Value值进行使用,用法如下:

定义介绍变量名

用@{变量名}的结果来引用

那么什么是请求变量,请求变量是从新定义会话变量的Value值的变量,其新定义的值来自提示所选项。

设置请求变量名的时候必须要和将修改的会话变量名称相同,上边已经定义了一个非系统会话变量SessionTest ,Value值为222010000,下面以这个为例,来修改会话变量SessionTest 的Value值。


定义一个提示的请求变量,名为SessionTest

在做一个会话变量的表



这里无需加筛选器,因为调节列是来自会话变量,我们实验的目的就是用提示的请求变量来修改这个会话变量的列~

OK~添加到仪表盘里看一下结果~


为了试验明显提示的缺省值没有进行设置,这里的缺省值是来自会话变量的222010000。

操作一下提示来改变会话变量的Value值~


OK~~!

变量用法总结:

库变量在Answers列的编辑公式中调用方法是VALUEOF("变量名")

会话变量在在Answers列的编辑公式中调用方法是VALUEOF(NQ_SESSION.变量名)

[‘变量名']}

介绍变量的调用方法是@{变量名}

系统自带了一些会话变量如下:

Delivers:@{currentMonth}。

currentTime => @{system.currentTime} = 2010-5-14 2:21:30

system.productVersion => @{system.productVersion} = 10.1.3.4 (Build 080726.1900)

session.locale => @{session.locale} =zh-cn

session.language => @{session.language} = zh

rtl =>@{session.rtl} = false

session.loginTime => @{session.loginTime} = 2010-5-14 1:42:36

session.logoutTime =>@{session.logoutTime } = 2010-5-14 1:42:31

session.lastAccessTime =>@{session.lastAccessTime} = 2010-5-14 2:21:29

session.currentUser => @{session.currentUser.id} = administrator

user.homeDirectory => @{user.homeDirectory} = /users/administrator

user.id => @{user.id} = administrator

user.displayName => @{user.displayName} = administrator

 

转载:文章出处http://hi.baidu.com/_yuvv/item/4615525f12033c4d4fff2026

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值