BIEE变量总结

BIEE 主要有 库变量,会话变量,表示变量(介绍变量),请求变量

一、RPD中定义的

库变量和会话变量的区别是会话变量可以被前台通过请求变量修改

1、库变量(Repository Variable        RV)

Repository分两种变量的类型:Dynamic(动态变量)和Static(静态变量)

静态变量SRV

应用场景:引用长期不变的值,例如本机的 biee服务器相关路径的信息等,有的导航需要用路径等,由于生产和开发不一致,在生产和开发设置相同的变量,修改默认的值即可

①设置方法

在RPD中进入Administrator tool -Manage-Variable ,静态变量直接创建,不需要初始化块

②引用方法 资料库变量引用都是VALUEOF("变量名")

地方调用的话例如文本:需要这么写@{biServer.variables['SRV']}

2、动态变量DRV

应用场景:在项目中,要求当用户登录的时候看到的数据是当天(当月)的数据,这时候我们需要用到动态的库变量

①设置方法

动态变量需要新建初始化块:

编辑数据源来添加变量取值方法

SELECT TO_CHAR(SYSDATE, 'YYYY-MM') --本年本月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-1),'YYYY-MM') --本年上月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),1),'YYYY-MM') --本年下月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-12),'YYYY-MM') --上年本月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-13),'YYYY-MM') --上年上月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-11),'YYYY-MM') --上年下月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),12),'YYYY-MM') --下年本月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),11),'YYYY-MM') --下年上月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),13),'YYYY-MM') --下年下月
,TO_DATE(TO_CHAR(SYSDATE,'YYYY-MM-DD'),'YYYY-MM-DD')    --本年本月本日
,TO_CHAR(SYSDATE-1,'YYYY-MM-DD')  --本年本月本日-1
,TO_CHAR(SYSDATE+1,'YYYY-MM-DD')  --本年本月本日+1
,TO_CHAR(SYSDATE-7,'YYYY-MM-DD')   --本年本月本日-7
,TO_CHAR(SYSDATE+7,'YYYY-MM-DD')  --本年本月本日+7
,TO_CHAR(SYSDATE,'MM') month    --本月
,TO_CHAR(SYSDATE,'MM')-1 month    --上月
,TO_DATE(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-2),'YYYY-MM-DD'),'YYYY-MM-DD') --本年本月本日-2月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-2),'YYYY-MM') --本年本月-2月
,TO_DATE(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-3),'YYYY-MM-DD'),'YYYY-MM-DD') --本年本月本日-3月
,TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE),-3),'YYYY-MM') --本年本月-3月
,TO_CHAR(TRUNC(SYSDATE,'IW'),'YYYY-MM-DD')--本周一
,TO_CHAR(TO_CHAR(SYSDATE, 'YYYY') - 1) --去年
,TO_CHAR(SYSDATE, 'YYYY') --本年
,TO_CHAR(TRUNC(SYSDATE,'day')-2,'YYYY-MM-DD')--上周五
,TO_CHAR(TRUNC(SYSDATE,'day')-8,'YYYY-MM-DD')--上上周六
,TO_CHAR(TRUNC(SYSDATE,'day'),'YYYY-MM-DD')--周日(本周第一天)
,CASE WHEN TO_CHAR(SYSDATE ,'D') =7 THEN  TO_CHAR(SYSDATE-1,'YYYY-MM-DD')  ELSE  TO_CHAR(TRUNC(SYSDATE,'day')-2,'YYYY-MM-DD') END --过去最近的周五
FROM   DUAL

在新建数据目标根据数据获取顺序建立变量

②引用方法 资料库变量引用都是VALUEOF("变量名"),

这里直接写变量名字就可以了

2、会话变量 Session  Variables SV

分为系统变量和非系统变量

系统变量 DISPLAYNAME,EMAIL,GROUP,LAST_SYNCH_TIME and THIS_SYNCH_TIME,
PORTALPATH,REQUESTKEY,SKIN,USER,WEBGROUPS.这里常用到的就USER,GROUP,DISPLAYNAME

非系统变量定义时不要和系统变量重名

定义方式和动态库变量类似

区别:会话变量

SELECT Distinct
'SV_ASSET_DEP_LEVEL1',
a.dep_code
FROM T_USER_DEP_MAP_ASSE 可以在里面定义变量名

,但在编辑数据目标时要在里面勾选行范围初始化

②引用方法  VALUEOF(NQ_SESSION.变量名)

二、answer的变量 表示变量和请求变量

表示变量是把提示中(也可叫筛选器)的所选项作为变量的Value值进行使用,

请求变量是通过提示器修改会话变量的值,从而修改数据等

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

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

库变量和会话变量在其他地方调用(例如文本中)是@{biServer.variables[‘变量名']}

表示变量的调用方法是@{变量名}

原文地址:https://www.cnblogs.com/lan-meng/p/8066658.html