Oracle Essbase入門系列(四)

來源:互聯網
上載者:User

標籤:

成員儲存類型

除了大綱計算,維度成員的另一項重要屬性是儲存類型,儲存類型決定維度成員相關儲存格的實體儲存體方式。在維庫中編輯成員的【Data Storage】屬性,下拉式功能表中可選的5種,再加上Shared成員,一共6種儲存類型。

Store儲存資料。當一個儲存格所有成員的儲存類型都是Store時,儲存格的資料會實體儲存體。前面說明輸入儲存格和計算儲存格時,似乎存在這樣的印象——非0級和帶有成員公式的儲存格都是不可輸入的,必須由子代成員合并或公式計算得到。其實不然,決定儲存格是否“可輸入”是由儲存類型決定的。Store類型的儲存格都可輸入資料,只不過在執行了計算後被輸入資料會被計算結果覆蓋。

DynamicCalc動態計算。相關儲存格不儲存資料,僅在查詢時即時計算。動態計算的成員必須定義計算方法,非0級成員可以通過子代成員合并,0級成員必須有成員公式。使用動態計算的目的,一是可以減少儲存空間,二是可以阻止在儲存格上輸入資料。但如果查詢中包含有動態導出成員時,會延長查詢回應時間。

DynamicCalcAndStore動態查詢和儲存。當第一次查詢或資料被標識為髒時,即時計算,計算結果會儲存下來,後續查詢中就可以使用儲存的資料。相比起DynamicCalc,DynamicCalcAndStore平衡了查詢效能和儲存空間。

LabelOnly僅標籤。既不計算,也不儲存資料。僅在層次中作為分組或分級的標籤存在。查詢LabelOnly成員時,通常顯示第一個子成員的資料。

Shared共用成員。共用成員是對同維度中同名成員的引用,其資料來自於被引用成員。如果在維度中多個地方使用同一成員,可以使用共用成員。例如,Account維度中收入和支出在淨收入的成員公式中被引用,可以使用共用成員來實現同樣的計算。設計大綱,淨收入下的共用成員引用了同維度中的支出與收入,按照合并計算符,可以代替成員公式的計算方法。在維庫中要加入共用成員,可右擊某一成員,在右鍵菜單中選【插入共用成員】>【作為子代】或【作為同級】。

NeverShare不共用資料。除了使用Shared類型來顯示的定義共用成員外,Essbase中還有些成員是隱式共用。參考圖3-48的維度結構,Home成員值實際上等於張大明成員值。Essbase能識別這種關係,並自動將張大明作為Home的共用成員,此稱為隱式共用。為了避免隱式共用,可以將Home的儲存類型置為NeverShare。

張大明家需要制定2013年的家庭預算,在Year維度上,只需做月度收支計劃,無需細化到每一日;Home維度上,全家的預算配置到個人時,保留一部分機動資金。還需要定期核對預計收支目標和實際收支間的差異,實際支出應該小於目標支出,實際收入應該大於目標收入。如表是1月的預算與實際收支資料。

此例要求資料庫可在Year、Home、Account維度非0級成員上輸入資料,所以首先確保表中相關維度成員的儲存類型必須是Store。

由於機動資金,Home成員的支出是要大於子成員支出的總和。而且,要求在Year維度中,就算在日級成員中誤輸入了資料,也不會影響到月級成員的資料。所以在計算時,非0級成員的輸入資料不能被子代成員的合并計算結果覆蓋。為此將Scenario維度下預算的合并計算符設為“^”,則預算相關的所有儲存格都不使用合并計算符計算。

但同時又希望在Time維度上將月度預算能匯總到季度,再匯總到全年。編輯資料庫的預設計算指令碼,如下:

接著來看錶中差異項的定義,差異是實際和預算的差值,但支出和收入有不同的計算方向。對支出來說,實際小於預算為優,差異等於預算減實際;對收入來說,實際大於預算為優,差異等於實際減預算。這種計算方式可使用費用報告計算(Expense Reporting)功能,費用報告是除了時間平衡外,Account類型維度另一個特有的計算屬性。通過將Account維度成員標註為費用或非費用類型,可控制在@VAR和@VARPER函數中的計算方向。

在維庫中將支出及其子成員的【Expense Reporting】屬性設定為Expense;收入及其子成員為預設的NonExpense。修改差異的儲存類型設為DynamicCalc,成員公式設為:

至此,HomeFinancial資料庫已基本滿足了例子中提出的需求。將這兩節中的修改匯總,資料庫模型最終的結構如下:

維度結構:

成員公式:

預設計算指令碼:

在維庫中檢查HomeFinancial應用程式是否都如上修改,如無問題部署到Essbase Server。EPMA目前還無法編輯Essbase計算指令碼,因此部署後再修改預設計算指令碼。

Oracle Essbase入門系列(四)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.