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[‘變量名']}

表示變量的調用方法是@{變量名}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM