Parent-Child 維度屬性
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Microsoft SQL Server SQL Server Analysis Services 中,通常會對維度中成員的內容進行一般假設。 分葉成員包含直接從基礎數據源衍生的數據;非分葉成員包含衍生自在子成員上執行之匯總的數據。
不過,在父子式階層中,除了從子成員匯總的數據之外,某些非分葉成員也可能衍生自基礎數據源的數據。 針對父子式階層中的這些非分葉成員,會建立包含基礎事實數據表數據的特殊系統產生子成員。 稱為 數據成員,它們包含與非分葉成員直接關聯的值,與非分葉成員的子系計算的摘要值無關。
數據成員僅適用於具有父子式階層的維度,而且只有在父屬性允許時才會顯示。 您可以使用維度設計工具來控制資料成員的可見性。 若要公開數據成員,請將父屬性的 MembersWithData 屬性設定為 NonLeafDataVisible。 若要隱藏父屬性所包含的數據成員,請將父屬性上的 MembersWithData 屬性設定為 NonLeafDataHidden。
此設定不會覆寫非分葉成員的一般匯總行為;為了匯總的目的,數據成員一律會包含為子成員。 不過,自定義匯總公式可用來覆寫一般匯總行為。 多維度表達式 (MDX) DataMember 函式可讓您存取相關聯數據成員的值,不論 MembersWithData 屬性的值為何。
父屬性的 MembersWithDataCaption 屬性提供 SQL Server Analysis Services,並提供用來產生數據成員名稱的命名範本。
使用數據成員
在匯總具有父子式階層的組織維度量值時,數據成員很有用。 例如,下圖顯示具有三個層級的維度,代表產品的總銷售額。 第一個層級會顯示所有銷售人員的總銷售額。 第二個層級包含依銷售經理分組之所有銷售人員的總銷售額,而第三個層級則包含銷售人員分組之所有銷售人員的總銷售額。
一般而言,Sales Manager 1 成員的值會藉由匯總 Salesperson 1 和 Salesperson 2 成員的值來衍生。 不過,由於 Sales Manager 1 也可以銷售產品,該成員也可能包含衍生自事實數據表的數據,因為可能會有與 Sales Manager 1 相關聯的總銷售額。
此外,每個銷售人員的個人傭金可能會有所不同。 在此情況下,會使用兩個不同的規模來計算銷售經理個人總銷售額的傭金,而不是其銷售人員所產生的總銷售額總計。 因此,請務必能夠存取非分葉成員的基礎事實數據表數據。 MDX DataMember 函式可用來擷取 Sales Manager 1 成員的個別銷售量,而自定義匯總表達式可用來從 Sales Manager 1 成員的匯總值中排除數據成員,並提供與該成員相關聯的銷售人員總銷售額。