OBIEE中「時間序列函式」的運用技巧

2022-02-21 02:37:39 字數 1501 閱讀 2777

很多初學者在運用時間序列函式時,如果不了解內部機制,很有可能實現不了自己想要的效果。

下面將以乙個實際例子來展開論述:

(1)首先,要在前端介面中點選「年」自動下鑽至「月」。可別小看這個功能,如果在邏輯維上設定不準確的話,前端不顯示下鑽功能的。將前端要顯示的年、月、日一定要提前放在邏輯維對應的層次上,如下圖:

紅色框內容的字段是有可能在前端觸發下鑽功能的邏輯字段,如果不放入邏輯維相應層次中的話,下鑽不會按照我們設計的層次路徑來鑽取(謹記)。還有在每層上一定要新建乙個「邏輯級別關鍵字」,應該是根據這個關鍵字去尋找鑽取路徑的(待驗證):

還可以在層次中放置其他的列,例如描述字段,將想要在前端顯示的字段設定為「用於顯示」,不想顯示的字段「對號」去掉(總之,前端展現的字段和用於鑽取的邏輯欄位是兩碼事):

(2)其次,時間序列函式相應邏輯維的特殊設定。

要想運用時間序列函式,需要對時間邏輯維進行特殊處理。首先將邏輯維的結構選為「時間」:

為每層的鑽取邏輯字段設定「序時關鍵字」:

時間序列鍵的作用是表明時間維中具有一組單調增加的時間序列值(每一層上面設定序時關鍵字的字段一定在時間維表字段中能夠有效排序,不要有重複,否則時間序列函式計算有誤)。

定義時間序列時存在以下原則:

時間維中,至少乙個層級上應定義有時間序列鍵

物理儲存的最細時間粒度上必須定義時間序列鍵

除了必要的時間序列鍵,時間維的各個層級上均可建立額外的時間序列鍵,這主要是為提高查詢效能服務

時間維的同一層級上可以建立多個時間序列鍵,但只有第乙個時間序列鍵有效

典型反例:

我在邏輯維的月層次上,設定的序列關鍵字是月字段,但是月字段在物理表中對應的值是「01、02、03、04……」,這樣計算出來的時間序列函式是不準確的,應該將該序時關鍵字改為:「201201、201202、201203……」,這樣才不會有重複的值。解決方式如下(年和月兩個字段進行組合):

(3)最後,上面邏輯維建立好之後,直接使用時間序列函式即可。

OBIEE中的快取

from biee的快取是基於檔案的,而不是在記憶體中,快取檔案以.tbl為副檔名。快取對於提高查詢效率很有幫助,它可以讓查詢直接從快取檔案中產生結果,而不用訪問資料庫,避免了資料庫查詢和網路傳輸上的時間損耗。但cache也帶來其它問題,如快取管理 如何提高cache命中率?怎樣保持cache的中的...

OBIEE中的快取

biee的快取是基於檔案的,而不是在記憶體中,快取檔案以.tbl為副檔名。快取對於提高查詢效率很有幫助,它可以讓查詢直接從快取檔案中產生結果,而不用訪問資料庫,避免了資料庫查詢和網路傳輸上的時間損耗。但cache也帶來其它問題,如快取管理 如何提高cache命中率?怎樣保持 cache的中的資料不會...

OBIEE中的TOPN分析

topn的意思 在某個系統中,有時候需要根據一定的規則對資料進行排序,並從排序列表中選取出最大或最小的n個資料,這就是乙個top n演算法。實現方式 但是在利用topn進行分析時會存在很多細節問題,例如 如果有重複的資料怎麼處理呢?首先,對沒有重複的資料進行topn分析 該部分的實現是比較簡單的。在...