成員如何儲存資料值的選項

您可以決定 Essbase 儲存成員資料值的方式與時機。例如,您可以讓 Essbase 僅在使用者要求成員時才計算該成員的值,然後捨棄該資料值。

每個可用成員儲存特性的描述如下。

表格 5-4 選擇儲存特性

儲存財產 行為

Store - 儲存庫

以成員儲存資料值。

動態計算

除非使用者要求資料值,然後捨棄資料值,否則不會計算資料值。

僅限標籤

「僅標籤」成員用於群組或標示其他成員。資料庫中不會儲存「僅標籤」成員的資料。

共用成員

在成員之間共用值。例如,在 Sample Basic 資料庫中,100-20 成員儲存在 100 父項之下,並在 Diet 父項下共用。

不共用

不允許以隱含方式共用成員。

標記為「永不共用」的成員只能明確共用。若要明確共用成員,請建立具有相同名稱的共用成員,並將其標記為共用。

若要使用 Essbase Web 介面設定成員儲存特性,請開啟大綱進行編輯、選取成員,然後編輯其一般特性。視需要變更資料儲存類型。如需詳細資訊,請參考設定一般特性

如果您使用應用程式工作簿或立方體設計工具來設定成員儲存特性,請在適當維度工作表的每個成員旁邊,使用相關程式碼來更新 STORAGE 特性。S 代表儲存,X 代表動態計算,O 代表僅用於標籤,N 代表永不共用。如需詳細資訊,請參考瞭解維度工作表

已儲存成員

儲存的成員包含計算值,在計算後會與 Essbase 資料庫中的成員一起儲存。依預設,會將成員設為已儲存。

動態計算成員

當成員為動態計算時,在使用者要求該成員之前, Essbase 不會計算該成員的值。在使用者檢視之後, Essbase 不會儲存該成員的值。

Essbase 會自動將屬性維度的成員標記為動態計算。您無法變更此設定。

另請參閱資料值的動態計算

僅標籤成員

Essbase 中的僅標籤成員沒有相關資料。使用它們將成員分組,或簡化 Smart View 的導覽和報表。一般而言,您應該只為標籤成員提供「無合併」特性。

您無法將屬性與僅限標籤的成員建立關聯。如果您標記只有屬性關聯為標籤的基礎維度成員, Essbase 會移除屬性關聯並顯示警告訊息。

僅標籤成員的子代不能標記為「動態計算」。在下列範例中,驗證大綱時, Essbase 會發出錯誤訊息,指出 ChildB 不能僅標記為標籤:


ParentA = Label Only
   ChildB = Label Only
      DescendantC = Dynamic Calc

將 DescendantC 標記為「儲存資料」可解決此問題。

共享會員

Essbase 共用成員可協助您在大綱中跨多個父項計算相同成員,這在項目屬於多個類別時非常有用。與共用成員關聯的資料值來自另一個名稱相同的大綱成員,稱為原型成員。

共用成員將指標儲存到原型成員中包含的資料,並且只儲存一次資料。若要將成員定義為共用,必須存在相同名稱的原型成員。例如,在 Sample.Basic 資料庫中,100 底下的 100-20 成員會儲存該成員的資料。飲食下的 100-20 成員指向該值。

共用成員通常用來計算多個父項的相同成員;例如,計算 100 和 Diet 父項中的 Diet Cola 成員。

使用共用成員可讓您在整個維度中重複使用成員。Essbase 只會儲存一次資料值,但會顯示在多個位置。只儲存一次資料值即可節省空間並提升處理效率。

請閱讀下列章節,以深入瞭解共用成員。

附註:

具有相同名稱的成員可能是重複的成員,而不是共用成員。請參閱大綱中的重複成員名稱

共用成員的準則

Essbase 共用成員不得有子項、UDA、屬性或公式。它們必須與原型的維度相同,並以大綱順序進行後續追蹤。共用成員可以有唯一的別名,而且其名稱可以與其他成員相同。

請遵循下列準則,以避免建立共用成員時發生錯誤:

  • 共用成員必須與其原型成員位於相同的維度。例如,Sample.Basic 資料庫中的兩個 100-20 成員都位於 Product 維度中。

  • 原型成員必須在大綱順序中的共用成員之前。

  • 共用成員不能有子項。

  • 不限數目的共用成員可以有相同的名稱。

  • 無法將 UDA 或公式指派給共用成員。

  • 您可以為成員名稱重複的成員建立共用成員。

  • 屬性不能與共用成員關聯。

  • 如果帳戶特性已指派給共用成員,則這些帳戶特性的值會從原型成員取得,即使共用成員上的帳戶特性已變更。

  • 別名可以指派給共用成員。

  • 如果共用成員的別名是空的,Essbase 會使用儲存成員的別名。

  • 如果您為共用成員指派別名,並且變更原型成員的別名,則共用成員的別名不會變更。

  • 原型成員必須位於其共用成員之前。

  • 避免將作為屬性計算一部分的原型與共用成員之間的複雜關係,或者計算可能會傳回非預期的結果。請參閱屬性計算和共用成員

  • 您無法將共用成員及其原型成員置於相同的父項之下。在重複的成員大綱中,同層級必須是唯一的。

  • 在方格用戶端 (例如 Smart View) 中,共用成員可以輕易地與其原型成員區別,因為您可以指定以限定名稱顯示 (例如,[Parent].[Child])。共用成員可以使用限定名稱顯示,即使您尚未設定大綱來啟用重複的成員名稱。此外,您可以使用合格成員名稱來搜尋方格中的共用成員或使用成員選擇。

逐層往下檢視期間的共用成員擷取

在放大 (向下展開) 作業期間, Essbase 會擷取原型成員,而非共用成員 (若有的話)。縮小 (向上展開) 共用成員會擷取共用成員父項,而非原型。

Essbase 會在向下鑽研期間擷取共用成員,視其在試算表或方格用戶端中的位置而定。Essbase 會在擷取方格時遵循下列規則:

  • 依預設擷取原型成員 (非其共用成員)。

  • 先從試算表底部擷取。

  • 如果共用成員的父系是其中一個共用成員的原型成員的同層級,則會擷取原型成員。

單一維度的共用成員範例

如果您根據 Sample.Basic 大綱中維度 East 的原型成員建立所有共用成員的測試維度,則大綱與圖 5-1 中顯示的大綱類似:

圖 5-1 單一維度的共用成員


此圖像顯示一個大綱,其中測試成員包含來自 East 成員的共用成員。測驗和東方成員包含相同的同層級:紐約、麻薩諸塞州、佛羅里達州、康涅狄格州和新罕布夏州。

縮小共用成員會傳回共用父項,而不是原型成員。例如,如果您在 Florida 上縮小, Essbase 會傳回共用父項 test

如果您只擷取 East 的子項,所有結果都是來自原型成員,因為 Essbase 預設會擷取原型成員。

不過,如果您在試算表中以測試的子項擷取資料, Essbase 會擷取共用成員:

New York
Massachusetts
Florida
Connecticut
New Hampshire
test

如果您將 test 移到最後兩個子項上方, Essbase 會擷取前三個子項作為共用成員,而後兩個則作為原型成員。同樣地,如果您在清單中間插入不是共用成員同層級的成員 (例如,在 Florida 和 Connecticut 之間插入的 California),則 Essbase 只會擷取非同層級和父項之間的共用成員 (在此情況下,在 California 和 test 之間)。

使用交叉產生共用成員擷取的範例

您可以修改 Sample.Basic 大綱來建立其原型成員對等成員與其本身父項同階的共用成員,如圖 5-2 所示:

圖 5-2 擷取交叉產生共用成員


此圖像顯示一個大綱,其中測試成員包含來自東方成員 (紐約、麻薩諸塞州、佛羅里達州、康涅狄格州和新罕布夏州) 的同層級成員,以及來自西方的共用成員,其原型成員對方 (西部) 為其本身父項 (測試) 的同層級成員。

如果您以此順序建立含有共用成員的試算表, Essbase 會擷取所有共用成員,但它會擷取原型成員 West,而不是共用成員西部:

West
New York
Massachusetts
Connecticut
New Hampshire
test

Essbase 會依此順序擷取成員,因為 testwest 的父項,以及與 West 對應之原型成員的同層級。

隱含共用成員

即使未指定為共用, Essbase 大綱成員也可以隱含共用。

如果啟用隱含共用,父項成員會隱含地共用其單一子項成員 (只有一個子項成員時) 或其唯一的合併子項 (只有一個整合時,即具有 ~^ 以外的運算子)。

這類父項是隱含的共用成員,除非:

  • 他們有公式
  • 它們設定為「永不共用」
  • 未啟用隱含共用

預設不會啟用隱含共用。從 Essbase 21c 開始,您可以視需要使用 IMPLIED_SHARE_ON_CREATE 組態設定來啟用。

如果啟用隱含共用, Essbase 會在下列情況下假設 (或隱含) 共用成員關係:

  • 父項只有一個子項。 在此情況下,父系和子系會包含相同的資料。Essbase 會忽略子項上的整合特性,並且只儲存一次資料,因此父項與子項具有隱含的共用關係。在下列範例中,父系 500 只有一個子系 500-10,因此父系共用該子系的值:

    500 (+)
      500-10 (+)
  • 父項只有一個合併至父項的子系。 如果父項有四個子項,但三個子項標示為沒有整合,則合併的父項和子項會包含相同的資料。Essbase 會忽略子項上的整合特性,並且只儲存一次資料,因此父項與子項具有隱含的共用關係。在下列範例中,父系 500 只有一個累加的子系 500-10。其他子項會標示為「無合併 (~)」,因此父項會隱含地共用 500-10 的值。

    500 (+)
      500-10 (+)
      500-20 (~)
      500-30 (~)

上述案例在父成員具有公式時不適用。

如果您不想以隱含方式共用成員,請將父項標示為「永不共用」,以便改為複製資料。