維度和成員
如果您瞭解維度和成員,就可以充分瞭解多維資料庫的強大功能。
例如,Year 是維度 (屬於 Time 類型),而 Qtr1 是成員:
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)維度有兩種類型:標準與屬性。
-
標準維度代表業務計劃的核心元件,且通常與部門功能相關。一般標準維度:時間、帳戶、產品線、市場及部門。維度的變更頻率比成員少。
-
屬性維度與標準尺寸相關聯。透過屬性維度,您可以根據成員屬性 (特性) 來分組和分析標準維度的成員。例如,您可以將包裝在玻璃中的非咖啡因產品獲利能力與包裝在罐中的非咖啡因產品獲利能力進行比較。
成員是維度的個別元件。例如,「產品 A」、「產品 B」和「產品 C」可能是「產品」維度的成員。每個成員都有唯一的名稱。與成員關聯的資料可以儲存 (在本章中稱為儲存的成員),也可以在使用者擷取資料時動態計算資料。
大綱階層
定義大綱以開始設計 Essbase 立方體。大綱組織會將您資料分類的關係反映為結構階層與數學階層。
Essbase 資料庫 (多維資料庫) 開發會從建立大綱開始,完成下列目標:
-
定義結構關係
-
組織資料
-
定義項目之間的合併與數學關係
成員概念是用來代表資料階層。每個維度均由一或多個成員組成。而成員可能由其他成員組成。建立維度時,您可以定義如何合併其個別成員的值。在立方體大綱的樹狀結構中,整合是樹狀結構分支中的成員群組。
例如,許多企業每月總結資料、匯總每月資料以取得季度數據,以及匯總每季資料以取得年度數據。企業也可以依郵遞區號、城市、州 / 省和國家來彙總資料。任何維度都可以用來合併資料以供報告之用。
例如,在 Sample.Basic 立方體中,Year 維度包含季別成員:Qtr1、Qtr2、Qtr3 和 Qtr4、每個季別儲存資料,以及儲存年度摘要資料。第 1 季包括 1 月、2 月和 3 月,每個儲存一個月的資料,以及第 1 季儲存該季的摘要資料。同樣地,第 2 季、第 3 季及第 4 季包含代表個別月份的成員,以及儲存每季總計的成員。
下列階層結構代表 Qtr1 中的資料合併與關係。
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)有些維度是由相對較少的成員所組成,而其他維度則有數百或數千個成員。
維度與成員關係
Essbase 大綱的組織使用階層式和熟悉的術語來進行描述,因為在維度中概念化角色和成員關係是一個簡單的方法。階層術語包括層代和層級,與根和葉類似。著名詞包括父系、子系、同層級、子系和祖系。
本節中的子主題參照下面顯示的大綱,描述成員在大綱中的位置。
圖 2-1 成員產生與層級編號

父母、子女及同層級
大綱說明下列父系、子系與同層級關係:
-
上階為在其下具有分支的成員。例如,「利潤」是「銷售成本」和「銷貨成本」的父項成員。
-
下階是具有上階的成員。例如,「銷售」與「銷貨成本」是上階「毛利」的下階。
-
同層級是同一層代中相同直屬父項的子項成員。例如,「銷售」與「銷貨成本」是同層級 (兩者都具有上階「利潤」),但「行銷」(位於相同的分支層級) 並非同層級,因為其上階是「總費用」。
子代和祖代
大綱說明下列子系與祖系關係:
-
子代是父系之下分支中的成員。例如,Profit、Inventory 和 Ratios 是 Measures 的子代。「利潤」、「存貨」及「比率」的下階也是「評量」的下階。
-
祖代是成員上方分支中的成員。例如,「利潤」、「利潤」和「計量」是「銷售」的祖代。
根與葉子
大綱說明下列根成員與分葉成員關係:
-
根是分支中的最上層成員。評量是利潤、存貨、比率的根。
-
分葉成員沒有子項,也稱為層級 0 成員。例如,「期初庫存」、「新增」和「期末庫存」都是層級 0 成員。
層代和層級
在 Essbase 中,層代和層級是有關成員在大綱結構中的位置的指標。層代表示成員與標註根的距離。層次會測量成員與其下方最低成員 (階層式「分葉」) 之間的分支數目。
層代
產生是指維度內的整合層級。樹狀結構的根分支為層代 1。層代編號會隨著從根目錄數到葉成員而增加。在大綱中,「計量」是第 1 代,「利潤」是第 2 代,而「利潤」是第 3 代。每個層次的所有同層級都屬於相同的層代;例如,「存貨」與「比率」都是第 2 代。
在下圖中,顯示 Product 維度的一部分,其層代編號。產品是第 1 代,第 100 代是第 2 代,第 100-10 代是第 3 代,第 100-10-16 代是第 4 代。
圖 2-2 世代

層級
層級也指的是維度內的分支;層級會反轉用於層代的數值順序。從分葉成員向根計算層次。根階層號碼會視分支的深度而有所不同。在本節開頭的大綱圖中,「銷售與銷貨成本」為層級 0。所有其他分葉成員也是層次 0。利潤為層次 1,而利潤為層次 2。請注意,「計量」的層次數目會因分支而有所不同。對於比率分支,測量是層級 2。對於「總支出」分行,「計量」是層級 3。
在下圖中,會顯示 Product 維度的一部分,其層級編號為 100。100 為層級 2,100-10 為層級 1,100-10-12 與 100-10-16 為層級 0。
圖 2-3 層次

層代與層級名稱
為了簡化報表維護,您可以將名稱指派給層代或層級,然後使用該名稱作為該層代或層級中所有成員的縮寫。由於對大綱的變更會自動反映在報表中,因此當您使用層代和層級名稱時,如果成員名稱已變更或從資料庫大綱中刪除,您就不需要變更報表。
階層型態
Essbase 中的階層可以是對稱或非對稱 (不對稱)。
Essbase 會根據階層形狀以不同方式處理某些作業。列表化資料匯出、特定計算函數 (包括 @ANCESTVAL) 及鑽研報表對應在維度包含非對稱階層時,可能會有不同的結果。
對稱階層
在對稱階層中,具有相同層級號碼的成員在大綱中的深度相同。例如,在下圖中,成員 100-10 和 200-10 都是層級 0 成員,而且兩者都是層代 3 成員:

層代編號從維度名稱開始計算為 1;較高的層代編號是最接近階層中分葉成員的層代編號。
層次編號在階層最深處以 0 開頭;最高層次編號是維度名稱。
非對稱階層
在非對稱 (或不規則) 階層中,具有相同層次編號並不表示成員在大綱中的深度相同。例如,在下列圖表中,成員 aa 和成員 f 都是層級 0 成員,但它們不是相同的深度:

標準維度與屬性維度
Essbase 具有標準維度和屬性維度。本章著重於標準維度,因為 Essbase 不會為屬性維度成員配置儲存。相反地,它會在使用者查詢與成員關聯的資料時動態計算成員。
屬性維度是與標準維度相關聯的特殊維度類型。請參閱使用 Essbase 屬性。
稀疏維度和密集維度
多維資料庫的大部分資料集有兩個特性:
-
資料不會順暢且統一地分配。
-
大多數成員組合沒有資料。例如,所有產品可能不在該國家的所有地區銷售。
大多數多維資料庫本質上是稀疏的;它們缺乏大多數成員組合的資料值。稀疏維度是填滿可用資料位置百分比很低的維度。
例如,圖 2-4 中 Sample.Basic 資料庫的大綱包含 Year、Product、Market、Measures 和 Scenario 維度。「產品」代表產品單位,「市場」代表銷售產品的地理區域,而「評量」代表客戶資料。由於並非每個產品都是在每個市場中銷售,因此「市場」和「產品」被選為稀疏維度。
多維資料庫也包含密集維度。密集維度的機率很高,一個或多個儲存格在每個維度的組合中佔用。例如,在 Sample.Basic 資料庫中,所有市場中幾乎所有產品的帳戶資料都存在,因此將 Measures 選擇為密集維度。「年度」和「案例」也選擇為密集維度。「年度」代表以月為單位的時間,而「案例」代表科目值是預算還是實際值。
咖啡因、自製日期、盎司、公斤類型與母體為屬性維度。請參閱使用 Essbase 屬性。
當 Essbase 資料庫儲存在磁碟上時,密集成員組合的笛卡兒乘積會形成稱為區塊的儲存單位,而資料庫中每個稀疏成員組合的區塊則會寫入磁碟。
圖 2-4 基本資料庫大綱範例

密集與稀疏維度的選取
在大多數的資料集中,現有資料往往遵循可預測的密度和稀疏模式。如果正確比對模式,您可以將現有資料儲存在合理數量的密集資料區塊中,而不是在許多高度稀疏的資料區塊中。
為了協助您判斷維度是密集維度還是稀疏維度, Essbase 會在大綱特性中提供自動組態選項。
Essbase 可根據下列因素,針對維度的稀疏組態提出建議:
-
維度的時間和科目標記
-
資料區塊的可能大小
-
您對維度屬性的特性
您可以套用建議的組態,或者可以關閉自動組態,然後手動設定每個維度的稀疏或密集特性。請記住,您只能將屬性維度與稀疏標準維度建立關聯。
附註:
密集和稀疏維度的自動組態僅提供預估值。您無法考量您將載入資料庫的資料性質,或是多個使用者考量。
Sample.Basic 的密集剖析組態
考慮 Sample.Basic 資料庫,它代表 The Beverage Company (TBC) 的資料。
由於 TBC 並未在每個市場中銷售每項產品,因此資料集是合理稀疏的。Product 與 Market 維度中許多成員組合的資料值不存在。例如,如果沒有在佛羅里達州銷售 Caffeine Free Cola,則 Caffeine Free Cola (100-30) -> Florida 組合中沒有資料值,因此 Product 和 Market 為稀疏維度。因此,如果這些維度中的特定成員組合沒有資料值,則不會為組合建立資料區塊。
不過,請考慮 Year、Measures 及 Scenario 維度中成員的組合。這些維度上的某些成員組合幾乎一律存在資料值。例如,成員組合「銷售」->「一月」->「實際」有資料值,因為一月至少有部分產品銷售。因此,Year 與 Measures 和 Scenario 也是密集維度。
Sample.Basic 資料庫中標準維度的稀疏組態可能摘要如下:
-
稀疏標準維度為 Product 和 Market。
-
密集標準維度為 Year、Measures 和 Scenario。
系統會為 Product 和 Market 維度中的每個成員唯一組合建立資料區塊 (請參閱資料儲存 )。每個資料區塊都代表來自密集維度的資料。資料區塊可能會有一些空白儲存格。
例如,假設圖 2-5 中的稀疏成員組合 Caffeine Free Cola (100-30),New York。
-
如果帳戶資料 (由 Measures 維度表示) 存在於一月的組合中,則可能是二月和年度維度中的所有成員存在。
-
如果 Measures 維度上的某個成員有資料值,則 Measures 維度中的其他成員可能會有其他帳戶資料值。
-
如果「實際」科目資料值存在,則可能是「預算」科目資料值存在。
圖 2-5 Sample.Basic 資料庫的密集資料區塊

密集與稀疏選取案例
在下列案例中,您會看到當您選取不同的標準維度時,資料庫會如何受到影響。假設這些案例是以具有至少七個維度和數百個成員的一般資料庫為基礎。
案例 1:所有稀疏標準維度
如果您將所有維度變為稀疏, Essbase 會建立包含單一資料值之單一資料儲存格的資料區塊。系統會為每個資料區塊建立索引項目,因此在此案例中,會為每個現有的資料值建立索引項目。
此組態會產生需要大型記憶體的索引。索引項目越多, Essbase 會搜尋特定區塊。
圖 2-6 所有稀疏標準維度的資料庫

案例 2:所有密集標準維度
如果您將所有維度都設為密集, Essbase 會建立一個索引項目和一個大型的稀疏區塊。在大多數的應用程式中,這個配置需要的儲存空間比其他配置多出數千倍。Essbase 在搜尋任何需要大量記憶體的資料值時,必須將整個資料庫載入記憶體中。
圖 2-7 資料庫與所有密集標準維度

案例 3:密集與稀疏標準維度
根據您公司資料的瞭解,您已找出所有稀疏且密集的標準維度。
Essbase 會建立可輕鬆放入記憶體的密集區塊,並建立相對較小的索引。您的資料庫使用最少的資源有效率地執行。
圖 2-8 結合密集和稀疏尺寸的理想組態

案例 4:一般多維問題
假設資料庫有四個標準維度:時間、帳戶、區域和產品。在下列範例中,「時間」與「帳戶」為密集維度,而「區域」與「產品」為稀疏維度。
下方影像中顯示的二維資料區塊代表來自密集維度的資料值:「時間」和「帳戶」。「時間」維度中的成員為 J、F、M 和 Q1。Accounts 維度中的成員為 Rev、Exp 和 Net。
圖 2-9 時間與帳戶的二維資料區塊

Essbase 會為稀疏標準維度中的成員組合建立資料區塊 (假設成員組合中至少有一個資料值存在)。稀疏維度為 Region 和 Product。Region 維度的成員包括 East、West、South 和 Total US。Product 維度中的成員為 Product A、Product B、Product C 和 Total Product。
下圖顯示 11 個資料區塊。「產品 A」在「西部」與「南部」、「產品 B」在「東部」與「西部」或「產品 C」沒有資料值。因此, Essbase 尚未為這些成員組合建立資料區塊。Essbase 建立的資料區塊只有幾個空白儲存格。本範例會有效地將所有稀疏性集中至索引,並將所有資料集中至已充分使用的區塊。此組態提供有效率的資料儲存與擷取。
圖 2-10 為區域與產品上的稀疏成員建立的資料區塊

接下來,請考慮反轉密集和稀疏維度選項。在下列範例中,Region 和 Product 是密集維度,而 Time 和 Accounts 是稀疏維度。
在下圖中,二維資料區塊代表來自密集維度的資料值:Region 和 Product。在「西部」區域中,資料不適用於「產品 A」與「產品 B」。美國的產品總計也沒有資料。
圖 2-11 區域和產品的二維資料區塊

Essbase 會為稀疏標準維度中的成員組合建立資料區塊 (假設成員組合中至少有一個資料值存在)。稀疏標準維度為「時間」和「帳戶」。
下圖顯示 12 個資料區塊。「時間」和「帳戶」維度中所有成員組合的資料值都存在;因此, Essbase 會為所有成員組合建立資料區塊。因為所有區域中的所有產品都沒有資料值,所以資料區塊有許多空白儲存格。具有許多空白儲存格的資料區塊會有效率地儲存資料。
圖 2-12 為時間和帳戶的稀疏成員建立的資料區塊
