共用方式為


內建成員屬性 (MDX)

因為提供者符合 OLE DB 規格的 OLAP 小節 (1999 年 3 月 (2.6 節)),所以 Microsoft SQL Server Analysis Services 支援此主題中列出的內建成員屬性。

[!附註]

SQL Server Analysis Services 以外的提供者可支援其他內建成員屬性。如需其他提供者支援之內建成員屬性的詳細資訊,請參閱這些提供者提供的文件。

成員屬性類型

SQL Server Analysis Services 支援的內建成員屬性有兩種類型:

  • 區分內容的成員屬性
    這些成員屬性必須在特定維度或層級的內容中使用,而且要將值提供給指定維度或階層的每個成員。

  • 不區分內容的成員屬性
    這些成員屬性無法在特定的維度或層級的內容中使用,以及將值提供給座標軸上的所有成員。

不管內建成員屬性是否會區分內容,都適用以下使用方式規則:

  • 您只能指定座標軸上預計之維度成員相關的內建成員屬性。

  • 您可以利用不區分內容的內建成員屬性,在同一個查詢中混合區分內容的成員屬性要求。

  • 您可以使用 PROPERTIES 關鍵字以查詢屬性。

以下各節將描述 SQL Server Analysis Services 中可用的各種區分內容及不區分內容的內建成員屬性,以及如何將 PROPERTIES 關鍵字與每種屬性類型搭配使用。

區分內容的成員屬性

所有維度成員及層級成員支援區分內容的內建成員屬性清單。下表列出這些區分內容的屬性。

屬性

描述

ID

內部維護用的成員識別碼。

Key

成員的 MEMBERS 結構描述資料列集的 MEMBER_KEY 資料行中儲存的值。

Name

成員的名稱。

區分內容屬性的 PROPERTIES 語法

您可以在特定維度或層級的內容中使用這些成員屬性,而且要將值提供給指定維度或階層的每個成員。

對於維度成員屬性,您可以在屬性名稱前面加上套用該屬性的維度名稱。下列範例會顯示適當語法:

DIMENSION PROPERTIES Dimension.Property_name

對於層級成員屬性,您可以在屬性名稱前面,只加上層級名稱,或者對於其他規格,則可加上維度及層級名稱。下列範例會顯示適當語法:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

為了方便說明,您要傳回 [Sales] 維度中每個參考成員的所有名稱。若要傳回這些名稱,您要在多維度運算式 (MDX) 查詢中使用以下陳述式:

DIMENSION PROPERTIES [Sales].Name

不區分內容的成員屬性

所有成員支援同樣不顧內容的內建成員屬性清單。這些屬性能提供應用程式可用以加強使用者經驗的其他資訊。

下表列出 SQL Server Analysis Services 支援的不區分內容內建屬性。

[!附註]

MEMBERS 結構描述資料列集中的資料行支援下表列出的內建成員屬性。如需 MEMBERS 結構描述資料列集料表的詳細資訊,請參閱<MDSCHEMA_MEMBERS 資料列集>。

屬性

描述

ACTION_TYPE

代表成員上動作類型的位元遮罩。此屬性可以有下列其中一個值:

  • MDACTION_TYPE_URL

  • MDACTION_TYPE_HTML

  • MDACTION_TYPE_STATEMENT

  • MDACTION_TYPE_DATASET

  • MDACTION_TYPE_ROWSET

  • MDACTION_TYPE_COMMANDLINE

  • MDACTION_TYPE_PROPRIETARY

  • MDACTION_TYPE_REPORT

  • MDACTION_TYPE_DRILLTHROUGH

CAPTION

與 MEMBER_CAPTION 相同。

CHILDREN_CARDINALITY

成員擁有的子系數目。這可為一個估計值,因此您不應該依賴此值做為確實計數。提供者應會傳回最佳的可能估計值。

CUBE_NAME

此一成員所屬 Cube 的名稱。

CUSTOM_ROLLUP

自訂成員運算式。

CUSTOM_ROLLUP_PROPERTIES

自訂成員屬性。

DESCRIPTION

成員的可讀取描述。

DIMENSION_UNIQUE_NAME

此一成員所屬維度的唯一名稱。對於會依識別資格產生唯一名稱的提供者,此名稱的每個元件會使用分隔符號。

HIERARCHY_UNIQUE_NAME

階層架構的唯一名稱。如果該成員屬於多個階層,該成員所屬的每個階層都會有一個資料列。對於會依識別資格產生唯一名稱的提供者,此名稱的每個元件會使用分隔符號。

IS_DATAMEMBER

指出成員是否為資料成員的布林值。

KEYx

成員的索引鍵,其中 x 是索引鍵以零為基底的序數。KEY0 可用於複合和非複合索引鍵,而 KEY1、KEY2 等則只適用於複合索引鍵。Key0、Key1、Key2 等共同形成複合索引鍵。

LCIDx

以地區設定識別碼十六進位值翻譯的成員標題,其中 x 是地區設定識別碼十進位值 (例如,代表加拿大英文的 LCID1009)。只有當翻譯的標題資料行繫結至資料來源時,才適用此功能。

LEVEL_NUMBER

成員距根階層的距離。根層級為零。

LEVEL_UNIQUE_NAME

成員所屬層級的唯一名稱。對於會依識別資格產生唯一名稱的提供者,此名稱的每個元件會使用分隔符號。

MEMBER_CAPTION

與該成員關聯的標籤或標題。標題主要是供顯示之用。如果標題不存在,查詢就會傳回 MEMBER_NAME。

MEMBER_KEY

原始資料類型的成員索引鍵值。MEMBER_KEY 是為回溯相容性而提供。 對於非複合索引鍵,MEMBER_KEY 的值與 KEY0 相同,對於複合索引鍵,MEMBER_KEY 屬性為 Null。

MEMBER_NAME

成員的名稱。

MEMBER_TYPE

成員的類型。此屬性可以有下列其中一個值:

  • MDMEMBER_TYPE_REGULAR

  • MDMEMBER_TYPE_ALL

  • MDMEMBER_TYPE_FORMULA

  • MDMEMBER_TYPE_MEASURE

  • MDMEMBER_TYPE_UNKNOWN

MDMEMBER_TYPE_FORMULA 優先於 MDMEMBER_TYPE_MEASURE。因此,如果 Measures 維度有一個公式 (導出) 成員,導出成員的 MEMBER_TYPE 屬性為 MDMEMBER_TYPE_FORMULA。

MEMBER_UNIQUE_NAME

成員的唯一名稱。對於會依識別資格產生唯一名稱的提供者,此名稱的每個元件會使用分隔符號。

MEMBER_VALUE

原始類型的成員值。

PARENT_COUNT

此成員擁有的父系數目。

PARENT_LEVEL

成員的父系距階層之根層級的距離。根層級為零。

PARENT_UNIQUE_NAME

成員之父系的唯一名稱。如果是根層級的任何成員,則會傳回 NULL。對於會依識別資格產生唯一名稱的提供者,此名稱的每個元件會使用分隔符號。

SKIPPED_LEVELS

略過的成員層級數目。

UNARY_OPERATOR

成員的一元運算子。

不區分內容屬性的 PROPERTIES 語法

使用以下語法指定會使用 PROPERTIES 關鍵字的內建、不區分內容的成員屬性:

DIMENSION PROPERTIES Property

請注意,此語法不允許依維度或層級限定屬性。因為座標軸的所有成員套用了不區分內容的內建成員屬性,所以無法限定屬性。

例如,指定 DESCRIPTION 內建成員屬性的 MDX 陳述式會有以下語法:

DIMENSION PROPERTIES DESCRIPTION

此陳述式會傳回座標軸維度中每個成員的描述。若要以 Dimension.DESCRIPTION 或 Level.DESCRIPTION 的維度或層級嘗試限定屬性,則無法驗證該陳述式。

範例

下列範例會根據使用 Aggregate 函數評估之使用者選取的 State-Province 成員值,傳回上一個時間週期銷售值衰退的轉售商計數。Hierarchize (MDX)DrilldownLevel (MDX) 函數是用來傳回 Product 維度中產品類別目錄的衰退銷售值。Properties (MDX) 函數是用來傳回在資料行軸上所傳回之父成員的唯一名稱。

WITH MEMBER Measures.[Declining Reseller Sales] AS 
   Count
      (Filter
         (Existing
            (Reseller.Reseller.Reseller)
            , [Measures].[Reseller Sales Amount] < 
            (
               [Measures].[Reseller Sales Amount]
                  ,[Date].Calendar.PrevMember
             )
          )
       )
MEMBER [Geography].[State-Province].x AS 
   Aggregate 
      ( 
         {[Geography].[State-Province].&[WA]&[US]
         , [Geography].[State-Province].&[OR]&[US] 
         } 
      )
SELECT NON EMPTY HIERARCHIZE 
   (AddCalculatedMembers 
      (
         {DrillDownLevel
            ({[Product].[All Products]})
         }
      )
   ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS 
FROM [Adventure Works]
WHERE 
   (
      [Geography].[State-Province].x
      , [Date].[Calendar].[Calendar Quarter].&[2003]&[4]
      ,[Measures].[Declining Reseller Sales]
   )

下列範例會針對指定的地區設定,傳回 Adventure Works Cube 中 Product 維度的產品類別目錄成員的已翻譯標題。

WITH 
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")
SELECT 
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0
,[Product].[Category].MEMBERS ON 1
FROM [Adventure Works]