共用方式為


MDX 的關鍵概念 (MDX)

您可以使用多維度運算式 (MDX) 來查詢多維度資料,或建立用於 Cube 內的 MDX 運算式,但首先您必須了解 Microsoft SQL Server Analysis Services 維度概念和詞彙。下節提供所需的基本維度模型概念和詞彙的簡短描述。後面章節說明如何運用這些概念。

維度模型詞彙和概念

Microsoft SQL Server Analysis Services Cube 是根據量值、維度及維度屬性所組成的。下表描述您必須了解的維度模型詞彙和概念,以使用 MDX 運算式語言。

  • (全部) 成員
    「(全部) 成員」是屬性階層或使用者自訂階層中所有成員的導出值。

  • 屬性階層
    「屬性階層」是包含下列層級的屬性成員階層:

    • 包含每個相異屬性成員的分葉層級,分葉層級的每個成員也稱為「分葉成員」。

    • 中繼層級,如果屬性階層是父子式階層。

    • 包含屬性階層之分葉成員彙總值的選擇性 (全部) 層級 (IsAggregatable=True),(全部) 層級的成員也稱為「(全部) 成員」。

    依預設,每個維度屬性都定義一個屬性階層 (AttributeHierarchyEnabled=True)。屬性階層依預設是可見的 (AttributeHierarchyVisible=True)。

  • 屬性關聯性
    「屬性關聯性」是屬性間的一對多關聯性,例如,州和城市維度屬性之間的關聯性。

  • 對稱的階層
    「對稱的階層」是最上層和任何分葉成員之間存在有相同層級數目的階層。

  • 導出成員
    「導出成員」是在查詢時定義及計算的維度成員。導出成員可以定義在使用者查詢或 MDX 計算指令碼中,並且儲存在伺服器。導出成員會對應到定義所在之維度中的資料表資料列。

  • 資料格
    Cube 中的「資料格」是存在於量值維度成員之成員和 Cube 中每個屬性階層之成員交集處的空間。

    • 量值維度的成員可以是分葉成員 (個別事實) 或彙總成員 (例如特定年度的彙總銷售額)。

    • 維度中的成員可以是分葉成員、資料成員、父成員或 (全部) 成員。

  • 子成員
    「子成員」是階層中在最上層底下的成員。

  • Cube 維度
    「Cube 維度」是 Cube 中資料庫維度的執行個體。

  • Cube 空間
    「Cube 空間」是 Cube 屬性階層中具有 Cube 量值之成員的乘積。

  • 資料成員
    「資料成員」是在父子式階層中與父成員關聯的子成員。資料成員包含其父成員的資料值,而非其父成員之子系的彙總值。

  • 資料庫維度
    「資料庫維度」是與索引鍵屬性相關的維度屬性集合,而索引鍵屬性則與量值維度中的事實相關。

  • 維度屬性
    「維度屬性」繫結至維度資料表中的一或多個資料行,並且包含成員。維度屬性可能包含客戶名稱、月份名稱、產品名稱。

  • 資料粒度屬性
    Cube 維度中將維度連接到量值維度中量值群組之事實的屬性。如果資料粒度屬性和索引鍵屬性是不同的屬性,則必須將非索引鍵屬性直接或間接連結至資料粒度屬性。在 Cube 內,資料粒度屬性會定義維度的資料粒度。

  • 索引鍵屬性
    資料庫維度的「索引鍵屬性」是維度中所有非索引鍵屬性 (直接或間接) 連結到的屬性。索引鍵屬性通常也是資料粒度屬性。

  • 分葉成員
    「分葉成員」是階層中沒有子系的成員。

  • 量值
    「量值」是來自事實資料表的值,也稱為「事實」。量值維度中的值有時也泛稱為「成員」。量值一般是數值,但也可以是字串值。

  • 量值群組
    在 SQL Server Analysis Services 中,「量值群組」是 Cube 中的相關量值集合 (一般是來自相同事實資料表的量值)。在 SQL Server Analysis Services 中,Cube 可以包含多個量值群組。

  • 量值維度
    「量值維度」是包含 Cube 所有量值的維度。量值維度是特殊類型的維度,一般是根據存在指定量值之每個維度屬性的目前成員,來彙總其成員 (一般依據總和或依據計數)。

  • 成員
    「成員」是維度屬性的值,包括量值維度。階層中的成員可以是分葉成員、父成員、資料成員或 (全部) 成員。

  • 成員屬性
    「成員屬性」是屬性 (Attribute) 成員的屬性 (Property),例如,客戶性別或產品色彩。

  • 父成員
    「父成員」是父子式階層中包含其子系之彙總值的成員。

  • 父子式階層
    「父子式階層」是特殊類型的屬性階層,其中維度的屬性是設為類型 parent。父子式階層是一種由子成員和父成員組成的不對稱階層。父子式階層包含下列層級:

    • 包含父成員之子系的子層級。父成員的子系包含彙總至父成員的屬性成員,包括資料成員。

    • 包含父成員的中繼層級。

    • 包含父子式階層分葉成員之彙總值的選擇性 (全部) 層級 (IsAggregatable=True),(全部) 層級的成員也稱為「(全部) 成員」。

    • 每個維度只能存在一個父子式階層,並且父子式階層必須與索引鍵屬性相關。

  • 不完全階層
    請參閱「不對稱的階層」。

  • Subcube
    「Subcube」是代表已篩選之 Cube 檢視的 Cube 子集。Subcube 可以使用 MDX 計算指令碼的 Scope 陳述式、MDX 查詢的 subselect 子句或當做工作階段 Cube 加以定義。

  • 使用 Subselect 的 Subcube
    使用 MDX 查詢的 subselect 子句所定義的 Subcube 包含 Subcube 定義的所有成員,這有下列結果:

    • 如果包含任何成員,同時會包含其上階和下階。

    • 如果包含使用者自訂階層中層級的每個成員,同時會包含該使用者自訂階層的所有成員,但會排除其他階層中不與該層級之成員同時存在的成員 (例如不包含客戶的城市)。

    • Cube 中的每個 (全部) 成員一律存在從 Cube 建立的 Subcube 中。

    • 所有值在 Subcube 中彙總時,只會反映新 Cube 空間,而不會反映衍生此 Cube 之外部 Cube 的空間。

  • 不對稱的階層
    「不對稱的階層」是最上層和分葉成員之間存在有不同層級數目的階層。不對稱階層的範例是父子式階層。不對稱的階層也稱為「不完全階層」。

  • 使用者定義階層
    「使用者定義階層」是由屬性階層組成的對稱階層,用來幫助使用者瀏覽 Cube 資料。使用者定義階層不會新增至 Cube 空間。在某些情況下,可以隱藏使用者定義階層中的層級,並顯示成不對稱。