共用方式為


定義自定義成員公式

您可以定義稱為自定義成員公式的多維度表示式 (MDX) 表示式,以提供指定屬性成員的值。 在數據源檢視中的數據表欄位會針對屬性中的每個成員,提供用來賦予該成員值的表達式。

自定義成員公式會決定與成員相關聯的儲存格值,並覆寫度量值的聚合函數。 自訂成員公式是以 MDX 撰寫。 每個自定義成員公式都會套用至單一成員。 自定義成員公式會儲存在維度數據表或與維度數據表有外鍵關聯性的另一個數據表中。

屬性 CustomRollupColumn 指定了包含該屬性成員自定義成員公式的欄。 如果數據行中的數據列是空的,則會正常傳回成員的單元格值。 如果數據行中的公式無效,每當擷取使用成員的單元格值時,就會發生運行時錯誤。

在您可以指定屬性的自定義成員公式之前,請確定包含屬性的維度數據表或直接相關的數據表具有用來儲存自定義成員公式的字串數據行。 如果是這種情況,您可以手動設定屬性上的屬性,或使用商業智慧精靈的設定 CustomRollupColumn 自定義成員公式增強功能,在屬性上啟用自定義成員公式。 如需如何使用這項增強功能的詳細資訊,請參閱 在維度中設定屬性的自定義成員公式

評估自定義成員公式

自定義成員公式與計算成員不同。 自定義成員公式會套用至存在於維度數據表中的成員,而且只提供成員的值。 相反地,計算成員不會儲存在維度表中,而計算成員表達式會同時定義維度或階層中包含的其他成員的數據和元數據。

自訂成員公式會覆蓋與量值相關的聚合函數。 例如,在指定自訂成員公式之前,使用 Sum 聚合函數的度量值會具備下列時間維度成員的值:

  • 2003: 2100

    • 第 1 季:700

    • 第 2 季:500

    • 第3季:100

    • 第 4 季:800

  • 2004: 1500

    • 第 1 季:600

    • 第 2 季:200

    • 第3季:300

    • 第 4 季:400

使用自定義成員公式時,成員的值會改為由自定義匯總公式提供。 例如,下列自定義成員公式可用於設定時間維度中 2004 成員的第 4 季子成員的值為 450。

Time.[Quarter 3] * 1.5  

自定義成員公式會儲存在維度數據表的數據行中。 您可以透過在屬性上設定 CustomRollupColumn 來啟用自訂匯總公式。

若要將單一 MDX 運算式套用至屬性的所有成員,請在以常值字串形式傳回 MDX 表達式的維度數據表上建立具名計算。 然後,在您要設定的屬性上,使用 CustomRollupColumn 屬性設定來指定具名計算。 具名計算是數據源檢視表中的數據列,返回由 SQL 運算式所定義的行值。 如需建構具名計算的詳細資訊,請參閱 在數據源檢視中定義具名計算 (Analysis Services)

備註

若要將 MDX 運算式套用至特定層級的成員,而不是以特定屬性為基礎的所有層級成員,您可以將表達式定義為層級上的 MDX 腳本。 如需詳細資訊,請參閱 MDX 腳本基本概念(Analysis Services)。

如果您同時針對屬性的成員使用計算成員和自定義回滾公式,您應該注意計算順序。 計算成員會在解析自定義匯總公式之前解析。

另請參閱

屬性和屬性階層
在維度中設定屬性的自定義成員公式