屬性維度概要

為了說明屬性維度的用途,請考量 Sample Basic 資料庫,此資料庫可在 Essbase 檔案目錄的圖庫區段中使用。在此資料庫中,「產品」具有產品特性的屬性,例如產品的大小與包裝。

屬性成員位於屬性維度中。在 Essbase Web 介面的大綱檢視器 / 編輯器中檢視時,屬性維度在大綱中的名稱旁邊會有字母 A。

下圖顯示帶有 Product 維度與三個屬性維度的 Sample Basic 大綱:Caffeinated、Ounces 以及 Pkg Type。在 Product 維度的右側,Caffeinated、Ounces 以及 Pkg Type 等詞彙會顯示這些屬性維度與 Product 維度相關聯。


此圖像顯示強調基本維度 (Products) 及其相關屬性維度 (Caffeinated、Ounces 以及 Pkg Type) 的「基本範例」大綱,如影像前後面的文字所述。

屬性與稀疏、非屬性維度相關聯,稱為基礎維度。在上述範例中,Product 維度是 Caffeinated、Ounces 以及 Pkg Type 屬性維度的基礎維度。「市場」是「植入」與「引入日期」屬性維度的基礎維度。

附註:

屬性維度和成員為動態計算 (非聚總屬性除外),因此 Essbase 會在擷取時計算屬性資訊。屬性資料未儲存於資料庫中。

屬性維度的成員

Essbase 屬性維度的成員是關聯基礎維度之成員的潛在屬性。將基礎維度與屬性維度建立關聯之後,您就可以將基礎維度的成員與屬性維度的成員建立關聯。

Sample_Dynamic Basic 立方體具有五個標準維度 (Year、Measures、Product、Market 和 Scenario),以及五個屬性維度 (Caffeinated、Ounces、Pkg Type、Population 和 Intro Date)。


Sample_Dynamic Basic 立方體具有五個標準維度 (Year、Measures、Product、Market 和 Scenario),以及五個屬性維度 (Caffeinated、Ounces、Pkg Type、Population 和 Intro Date)。

標準維度「產品」與四個屬性維度相關聯:咖啡因、盎司、公斤類型及引入日期。標準維度「市場」與屬性維度「植入」相關聯。

Market 維度成員 Connecticut 與 Population 屬性維度的 6000000 成員相關聯。這使得 6000000 成為 Connecticut 的屬性。


Market 維度中成員 Connecticut 的詳細資料會顯示其擁有的屬性關聯。

產品成員 100-10 具有三個屬性:它具有咖啡因、在 12 盎司的容器中銷售,並且在罐中銷售。


Product 維度中成員 100-10 的詳細資料會顯示其擁有的屬性關聯。

基礎維度與屬性維度與成員的限制

當您在資料庫中實作 Essbase 屬性時,請觀察有關屬性維度成員及其基本維度成員的規則。

您只能將稀疏維度標記為屬性維度。

在將大綱儲存至伺服器之前,每個屬性維度都必須與標準的稀疏維度作為其基礎維度相關聯。

屬性維度必須是大綱中的最後一個維度。

屬性維度具有類型設定 — 文字、數字、布林或日期。文字為預設設定。雖然在維度層級指派,但類型僅適用於維度的層級 0 成員。請參閱屬性類型

如果您從維度移除屬性標籤, Essbase 會從其成員名稱中移除字首或字尾。字首與字尾在大綱中看不到。請參閱設定屬性維度成員名稱的首碼和尾碼格式

基礎維度成員可以有許多屬性,但每個屬性維度只能有一個屬性。

例如,產品 100-10 可以具有大小與包裝屬性,但只能有一個大小與一種包裝類型。

您無法將屬性與標記為共用的隱含共用成員 (其子項) 建立關聯。

您可以在下列比較的計算中使用屬性值:

  • > (大於)

  • >= (大於或等於)

  • < (小於)

  • <= (小於或等於)

  • == (等於)

  • <> 或 != (不等於)

  • IN

屬性維度關聯的限制

當您將 Essbase 屬性維度關聯到標準維度時,標準維度會成為屬性維度的基本維度。基礎維度必須是稀疏維度,而且可以有多個屬性關聯時,任何指定的屬性維度只能有一個關聯的基礎維度。

請觀察下列屬性維度關聯的限制:

  • 屬性維度必須與稀疏標準維度相關聯。

  • 標準維度可以是多個屬性維度的基礎維度。

  • 屬性維度只能與一個基礎維度關聯。

    例如,假設有一個「大小」屬性維度的成員為「小」、「中」和「大」。


    「大小」成員為「小」、「中」和「大」的屬性維度。

    如果您將「大小」屬性維度與「產品」維度建立關聯,您也無法將「大小」屬性維度與「市場」維度建立關聯。Market 維度的追蹤大小相關資訊需要其他名稱不同的屬性維度。

屬性成員關聯的限制

當您將 Essbase 屬性維度的成員與基礎維度的成員建立關聯時,請觀察有關關聯層級的規則。此外,您無法將相同維度的多個屬性與單一基礎成員建立關聯。

請觀察下列屬性成員關聯的限制:

  • 您無法將來自相同屬性維度的多個成員與相同的基礎維度成員建立關聯。例如,「瓶」與「罐」包裝類型無法同時與產品 100-30 相關聯。

  • 可以將來自不同屬性維度的成員與基礎維度的相同成員建立關聯。例如,以 16 盎司瓶銷售的脫咖啡因產品 (100-30) 有三個屬性:咖啡因:False;盎司:16;以及 Pkg Type:Bottle。


    Sample Basic 產品維度中成員 100-30 的詳細資料會顯示其所擁有的屬性關聯。

  • Essbase 不需要基礎維度的每個成員都與屬性維度的成員相關聯。

  • 屬性維度的層級 0 成員是唯一可以與基礎維度成員建立關聯的成員。

    例如,在「植入」屬性維度中,您只能將層級 0 成員 (如 3000000、6000000 和 900000) 與 Market 維度的成員建立關聯。您無法關聯層級 1 成員,例如「小」。


    展開的屬性維度植入會顯示所有層次。

    屬性維度的層級 0 成員名稱為屬性值。具有屬性值的屬性維度唯一成員為層級 0 成員。

    您可以使用屬性維度的較高層級成員來選取和分組資料。例如,您可以使用 Population 屬性維度的層級 1 成員 Small 來擷取 3000000 和 600000 人口類別中的銷售。

  • 僅將屬性成員與對應基礎維度的層級 0 成員建立關聯。不支援在基礎維度的非層級 0 成員上定義的屬性關聯,而且可能會在屬性查詢中產生不正確或不完整的結果。

    此限制適用於:
    • 混合區塊儲存 (BSO) 立方體 (不論是否已分割)。
    • 使用通透或同盟分割區的聚總儲存 (ASO) 立方體。
    • 使用同盟分割區的傳統 (非混合) 區塊儲存 (BSO) 立方體。
    請勿將此限制適用於:
    • 不含分割區或具有通透分割區的傳統 (非混合) 區塊儲存 (BSO) 立方體。
    • 不含分割區的聚總儲存 (ASO) 立方體。
  • 與特定屬性維度成員相關聯的所有基礎維度成員必須位於相同層次。這稱為「關聯層次」。第一個屬性關聯會決定關聯層次。

  • 您無法將屬性與標記為共用的隱含共用成員 (其子項) 建立關聯。

屬性類型

Essbase 屬性維度的類型為文字、數字、布林值或日期。您選取的類型會啟用適當的功能,以分組、選取或計算資料。雖然在維度層級指派,但屬性類型只會影響屬性維度的層級 0 成員。

文字屬性類型

預設屬性類型為文字。文字屬性可在計算中實現基本屬性成員選擇與比較。因為比較是文字的,所以 Essbase 會比較字元。例如,封裝類型 Bottle 小於封裝類型 Can,因為 B 在字母的前面是 C。在 Sample Basic 資料庫中,Pkg Type 是文字屬性維度。

數值屬性類型

數值屬性維度的層級 0 成員名稱為數值。您可以在計算中包含數值屬性維度成員的名稱 (值)。例如,您可以使用「盎司」屬性中指定的盎司數目來計算每項產品的每盎司法單位的利潤。

您也可以將數值屬性與基準維度值的範圍建立關聯;例如,若要依市場目標群組來分析產品銷售 - 一個群組中含 3,000,000 人口或少於 3,000,001 與另一個群組中 6,000,000 人口的州別,依此類推。請參閱設定代表值範圍的成員名稱

Essbase 支援從 1970 年 1 月 1 日至 2038 年 1 月 1 日的日期屬性。

布林屬性類型

資料庫中的所有布林屬性維度只包含兩個成員。成員名稱必須符合資料庫的設定,例如 True 和 False。如果有多個布林屬性維度,請指定字首或字尾成員名稱格式,以確保唯一的成員名稱;例如,Caffeinated_True 和 Caffeinated_False。請參閱設定布林屬性成員名稱

日期屬性類型

您可以使用日期屬性來指定日期格式 (月 - 日 - 年或日 - 月 - 年),並據此排列資訊。請參閱變更日期屬性維度中的成員名稱。您可以在計算中使用日期屬性。例如,您可以比較計算中的日期,從自 10-12-1999 起建立的市場中選取產品銷售。

Essbase 支援從 1970 年 1 月 1 日至 2038 年 1 月 1 日的日期屬性。

屬性與標準維度的比較

屬性維度與成員類似於標準維度與成員。您可以新增別名和註解,包括階層,以及名稱層代 / 層級。屬性維度必須是稀疏的動態計算,且位於大綱的結尾,沒有公式或共用成員。

下表說明屬性與標準維度及其成員之間的主要差異。

表格 6-2 屬性與標準維度之間的差異

功能 屬性維度 標準維度

儲存

稀疏。屬性維度的基礎維度也必須是稀疏維度

可以是密集或稀疏

儲存財產

只能是動態計算。因此,不會儲存在資料庫中。大綱不會顯示此特性。

可以儲存資料、動態計算、永不共用或僅標籤

大綱中的位置

必須是大綱中的最後一個維度

必須高於大綱中的所有屬性維度

分割區

無法沿屬性維度定義,但您可以使用屬性在基礎維度上定義分割區

可依標準維度定義

公式 (成員)

無法與它們建立關聯

可以建立關聯

共享成員

不允許

已允許

兩輪計算成員特性

無法使用

可用

具有執行時間公式的雙輪計算

如果成員公式包含與屬性成員名稱相關聯的執行時期相依函式,且具有該公式的成員標記為二次通過,則計算會略過該成員並發出警告訊息。與程式實際執行相關的函數包括:@CURRMBR、@PARENT、@PARENTVAL、@SPARENTVAL、@MDPARENTVAL、@ANCEST、@ANCESTVAL、@SANCESTVAL 及 @MDANCESTVAL。

計算是在具有執行時期公式並標記為雙通的標準成員上執行。

兩輪式多重維度:計算順序

標記為雙通的成員計算順序取決於大綱中的順序。最後一個維度是最後計算的。

計算結果不相依於多個維度中標記為二次傳送之成員的大綱順序。

不含成員公式的二次計算

已略過計算,發出警告訊息。因此,兩階段標記成員和上層成員的成員交集可能會從標準維度的計算傳回不同的結果。

可用

非現有儲存區塊中的密集動態計算成員

如果維度位於不存在的儲存區塊上,則計算會略過密集維度。

若要使用密集成員的屬性,密集成員的資料區塊必須存在。在具有動態計算公式且沒有屬性的密集成員上擷取資料時, Essbase 會動態建立資料區塊並傳回值。不過,如果動態計算密集成員具有屬性,對屬性成員執行擷取會導致 #MISSING,因為 Essbase 會略過密集成員的動態計算,因此不會建立資料區塊。

若要識別不存在的預存區塊,請匯出資料庫或執行查詢,以找出區塊是否含有資料。

可用

成員的 UDA 為

不允許

已允許

合併

對於所有成員,透過「屬性計算」維度成員計算:Sum、Count、Min、Max 和 Avg。在屬性計算期間,會忽略大綱中的合併運算子。

透過將所需的整合符號指派給每個成員來指示的整合作業

由層級 0 成員輸入所協助的成員選擇

可用的類型包括文字、數字、布林值和日期。

所有被視為文字的成員

關聯

必須與基礎維度建立關聯

試算表向下追溯

列出與所選屬性相關聯的基本維度資料。例如,向下鑽研屬性 Glass 會顯示以玻璃包裝之每個產品的銷售,其中 Product 是 Pkg Type 屬性維度的基礎維度。

在標準維度中列出較低層級或同層級的詳細資料。例如,向下探鑽 Qtr1 會顯示該季的產品及其銷售清單。

解決順序和屬性

如果您的 Essbase 立方體已啟用混合模式,您可以設定屬性維度及其基礎維度的解決順序,免除將成員標記為兩輪動作的需求。

在混合模式中,預設計算順序 (也稱為解決順序) 與區塊儲存資料庫的順序相符,其中有些增強功能。如果您要使用非預設解決順序,可以對維度和成員設定自訂解決順序。

如需有關混合模式的詳細資訊,請參閱快速分析處理的採用混合模式

屬性維度的雙階段計算

對於缺少公式或具有不支援公式的 Essbase 成員的屬性計算,會略過兩次計算。

以下範例以 Sample Basic 資料庫中的 Product 維度為基礎,說明雙輪計算如何在 Attribute 維度上運作。假設成員 "400-30" 被標記為雙次傳送。

如果成員 "400-30" 具有下列成員公式:

="400–10";

在 "400-30" 上執行擷取時, Essbase 會執行公式。

如果 "400-30" 具有下列成員公式:

=@CURRMBR("Market");

Essbase 會略過計算,因為公式包含不允許的 @CURRMBR 程式實際執行函數,並且發出下列錯誤訊息:

Two-pass calc skipped on member [400-30] in attribute calc

如果 "400-30" 沒有成員公式,則會產生相同的錯誤訊息,因為標記為二次傳送的成員必須具有公式。

屬性與使用者定義屬性的比較

屬性和 UDA 可根據資料的特性進行分析。屬性提供比 UDA 更大的功能。本主題描述 Essbase 資料儲存、擷取、轉換及計算等屬性與 UDA 之間的差異。

資料儲存

屬性只能與稀疏維度關聯,而 UDA 可與密集和稀疏維度搭配使用。

資料擷取

資料擷取 屬性 UDA

您可以依屬性或使用者定義屬性值來分組與擷取合併總計。例如,將「高焦點項目」值與 Product 維度的各個成員建立關聯,並使用該詞彙僅擷取那些成員的總計與詳細資料。

支援的

簡單

支援的

更難實作,需要額外的計算命令檔或命令

您可以將階層中的屬性分類,並依屬性階層中的較高層次擷取合併的總計;例如,如果每個產品都有大小屬性,例如 8、12、16 或 32,且大小會分類為小、中和大。您可以檢視小型產品的總銷售額。

支援的

支援的

更難實施

您可以建立交叉參考列表檢視,顯示與相同基礎維度關聯之屬性的聚總總計。

支援的

您可以顯示每個屬性維度之所有值的交叉參考列表。

不支援

您只能根據特定使用者定義屬性值擷取總計。

您可以在屬性和 UDA 值使用布林運算子 AND、OR 和 NOT 來縮小查詢範圍。例如,您可以從 100 個產品群組中選取分解飲料。

支援的

支援的

因為屬性具有文字、布林、日期或數值類型,所以您可以使用適當的運算子與函數來處理與顯示屬性資料。例如,您可以檢視在特定日期之後引進的所有產品的銷售總計。

支援的

不支援

您可以將數值屬性分組為數值範圍,並讓維度建置程序自動將基礎成員與適當的範圍建立關聯。例如,您可以根據群體範圍 (小於 3 百萬、介於 3 百萬到 6 百萬等) 將不同區域的銷售分組。

支援的

不支援

透過「屬性計算」維度,您可以檢視屬性值的彙總,如總和、計數、最小值、最大值和平均值。

支援的

不支援

您可以在定義成員的計算中使用屬性。例如,您可以使用盎司的產品加權來定義 Measures 維度的每盎司成員的利潤。

支援的

不支援

您可以使用屬性相關資訊擷取特定基本成員。

支援的

強大的條件式和價值型選擇

支援的

只限文字字串比對

資料兌換

根據 UDA 的值,您可以在資料載入資料庫時變更資料的符號。例如,您可以使用「UDA 借方」來回轉所有成員的正負號。屬性不支援簽署翻轉。

計算指令碼

計算指令碼 屬性 UDA

如果成員的屬性或 UDA 值符合特定值,您可以對其執行計算。例如,您可以將所有具有「瓶」屬性或 UDA 的產品價格提高 10%。

支援的

支援的

您可以對其屬性值符合您指定條件的基礎成員執行計算。例如,您可以計算每個基礎成員的每盎司利潤。

支援的

不支援