biee初始化塊分為資料庫、會話兩類
資料庫初始化塊:可批量同事定義變數的值
配置 :
2. 「編輯資料目標」配置變數,變數的值和初始化sql結果是按順序匹配的,一對一關係;
3. 「重新整理時間間隔」 預設是1小時,即每個一小時系統就會自動執行一遍此初始化塊語句,並把結果存在緩衝池中,使用者登入系統時,從緩衝池中取出變數值。
會話初始化塊:用於許可權定義和設計
配置:配置過程與資料庫初始化塊相同,
區別是,資料庫初始化塊要設定重新整理時間,會話初始化塊不需要,每個使用者登入系統時都會執行一遍初始化塊
biee變數分為:資料庫變數(靜態、動態)、會話變數(系統變數、非系統變數)、表示變數、請求變數
資料庫變數引用:valueof(「變數名」)
在rpd中配置,必須有預設值, 沒有預設值則報表層無法引用該變數,資料庫變數在任何時間點都具有單個值。
1、靜態資料庫變數 一般用於定義資料庫tns名稱、使用者名稱等一些不常變化的常量;
當rpd上傳到伺服器之後,server上就會自動儲存靜態變數的值,直到重新修改rpd中的值並上傳到server;
變數值是固定的,任何時候都只有乙個值,任何成員登入系統後,獲取的靜態變數值都是一樣的。
2、動態資料庫變數 一般用於定義可變的值
動態變數的值可以是變化的,也可以是固定的(如獲取系統當月當天的值)
會話變數引用valueof(nq_session.變數名)
類似動態資料庫變數,可以在初始化塊中獲取動態的值;當使用者登入系統時,就會產生新的會話,並初始化會話變數
1、系統變數 系統自帶變數,是biee系統為了實現特定目的設定的
user:獲取使用者登入賬戶
proxy:獲取**使用者賬戶,**使用者是經過其他使用者授權可以代表其他使用者操作的.
group:獲取使用者所屬的組。當使用者屬於多個組時,使用valueof(nq_seeion.group),(組的名稱包含分號則在分號前面加上\)多個變數值用分號隔開.
roles:獲取使用者所屬的應用角色。
roleguids:獲取使用者所屬應用角色的唯一標識guid,guid與應用角色的名稱一致。
displayname:獲取使用者名稱。
portalpath:定義使用者登入後才能看到的預設儀錶盤。登入後使用者可重寫此預設值。
loglevel:定義使用者查詢日誌等級,當loglevel定義為2以上,administrator才有許可權檢視日誌(rpd中定義)
weblanguage:獲取使用者登入時的語言,中文 zh-cn等,使用者登入後可在我的賬戶改變登入的語言。
2、非系統變數 常用語過濾使用者的登入許可權
在資料過濾器中引用限制使用者資料許可權
表示變數引用:在分析中引用
表示變數的值有建立該變數時所引用的列提示或變數提示填充,也就是說,每次使用者在列提示或變數提示中選擇值時,表示變數的值就會設定為使用者選擇的值。
建立:
2. 變數提示,在變數提示中建立表示變數,不與任何列相關聯,可自定義它的值。
請求變數引用:在分析中引用
請求變數的值由建立該變數時所使用的列提示或變數提示填充。但只在從使用者按提示的開始按鈕到分析結果返回到儀錶盤這一段時間內,該值才有效。
建立:同表示變數
初始化塊和靜態初始化塊
初始化塊的使用 變數,靜態變數,方法,靜態方法 由圖可知變數沒問題 上面的方法不可行能否初始化靜態方法 嘗試使用初始化塊初始化構造方法 最後比較一下構造方法初始化,初始化塊初始化,靜態初始化塊初始化當中誰最先被初始化 package staticinitializelump public class...
靜態初始化塊 初始化塊 構造方法
1.所有的靜態初始化塊都優先執行,其次才是非靜態的初始化塊和建構函式,它們的執行順序是 1 父類的靜態初始化塊 2 子類的靜態初始化塊 3 父類的初始化塊 4 父類的建構函式 5 子類的初始化塊 6 子類的建構函式 注意 1 此處的構造方法需要與自己的類名相同,2 靜態 初始化塊需要用 2.構造方法...
Java初始化塊
非靜態初始化塊會在每個物件生成時被執行一次,可以初始化類的例項變數。非靜態初始化塊會在建構函式執行時,在建構函式主體 執行之前被執行。靜態初始化塊會在物件裝載到系統的時候執行一次,它僅能初始化類變數,即static修飾的資料成員。class helloa public helloa int a st...