共用方式為


屬性屬性 - 定義自定義成員公式

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

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

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

評估自定義成員公式

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

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

  • 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運算式所定義的數據列值。 如需建構具名計算的詳細資訊,請參閱在數據源檢視中定義具名計算

注意

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

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

另請參閱

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