Compartir a través de


Propiedades de miembro intrínsecas (MDX)

Como proveedor compatible con la sección OLAP de la especificación OLE DB con fecha de marzo de 1999 (2.6), Microsoft SQL Server Analysis Services admite las propiedades de miembro intrínsecas que se describen en este tema.

Nota

Es posible que otros proveedores además de SQL Server Analysis Services admitan propiedades de miembro intrínsecas adicionales. Para obtener más información acerca de las propiedades de miembro intrínsecas compatibles con otros proveedores, vea la documentación que suministra cada uno de ellos.

Tipos de propiedades de miembro

Las propiedades de miembro intrínsecas compatibles con SQL Server Analysis Services son de dos tipos:

  • Propiedades de miembro contextuales
    Estas propiedades de miembro deben utilizarse en el contexto de una dimensión o un nivel específicos y proporcionan valores de cada miembro de la dimensión o el nivel especificado.

  • Propiedades de miembro no contextuales
    Estas propiedades de miembro no pueden utilizarse en el contexto de una dimensión o un nivel específicos y proporcionan los valores para todos los miembros de un eje.

Independientemente de si la propiedad de miembro intrínseca es contextual o no, se rige por las siguientes reglas:

  • Únicamente se pueden especificar las propiedades de miembro intrínsecas relacionadas con los miembros de dimensión que se proyectan en el eje.

  • Se pueden mezclar solicitudes de propiedades de miembro contextuales con propiedades de miembro intrínsecas no contextuales en la misma consulta.

  • Se puede utilizar la palabra clave PROPERTIES para realizar consultas sobre las propiedades.

En las siguientes secciones se describen las distintas propiedades de miembro intrínsecas contextuales y no contextuales que ofrece SQL Server Analysis Services y cómo utilizar la palabra clave PROPERTIES con cada tipo de propiedad.

Propiedades de miembro contextuales

Todos los miembros de dimensión y de nivel admiten una lista de propiedades de miembro intrínsecas contextuales. En la siguiente tabla se incluyen estas propiedades contextuales.

Propiedad

Descripción

ID

Id. interno del miembro.

Key

Valor almacenado en la columna MEMBER_KEY del conjunto de filas del esquema MEMBERS para el miembro.

Name

Nombre del miembro.

Sintaxis de PROPERTIES para las propiedades contextuales

Estas propiedades de miembro se utilizan en el contexto de una dimensión o un nivel específicos y proporcionan valores de cada miembro de la dimensión o el nivel especificados.

En el caso de las propiedades de miembro de dimensión, el nombre de la propiedad debe ir precedido del nombre de la dimensión a la que se aplica la propiedad. En el siguiente ejemplo se muestra la sintaxis adecuada:

DIMENSION PROPERTIES Dimension.Property_name

En el caso de las propiedades de miembro de nivel, el nombre de la propiedad puede ir precedido sólo del nombre de nivel o, si se requieren especificaciones adicionales, del nombre de la dimensión y del nivel. En el siguiente ejemplo se muestra la sintaxis adecuada:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Para ilustrar lo explicado, suponga que desea devolver todos los nombres de cada uno de los miembros a los que se hace referencia en la dimensión [Sales]. Para devolver estos nombres, es preciso utilizar la siguiente instrucción en una consulta de expresiones multidimensionales (MDX):

DIMENSION PROPERTIES [Sales].Name

Propiedades de miembro no contextuales

Todos los miembros admiten una lista de propiedades de miembro intrínsecas idénticas independientemente del contexto. Estas propiedades proporcionan información adicional que pueden usar las aplicaciones para mejorar la experiencia del usuario.

En la siguiente tabla se incluyen las propiedades intrínsecas no contextuales compatibles con SQL Server Analysis Services.

Nota

Las columnas del conjunto de filas del esquema MEMBERS admiten las propiedades de miembro intrínsecas incluidas en la siguiente tabla. Para obtener más información acerca del conjunto de filas del esquema MEMBERS, vea Conjunto de filas MDSCHEMA_MEMBERS.

Propiedad

Descripción

ACTION_TYPE

Máscara de bits que indica los tipos de acciones del miembro. Esta propiedad admite cualquiera de los siguientes valores:

  • 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

Equivalente a MEMBER_CAPTION.

CHILDREN_CARDINALITY

Número de secundarios que tiene el miembro. Puede ser una estimación; por tanto, no debe pensar que este valor es el recuento exacto. Los proveedores deben devolver la mejor estimación posible.

CUBE_NAME

Nombre del cubo al que pertenece el miembro.

CUSTOM_ROLLUP

Expresión de miembro personalizado.

CUSTOM_ROLLUP_PROPERTIES

Propiedades de miembro personalizado.

DESCRIPTION

Descripción legible del miembro.

DIMENSION_UNIQUE_NAME

Nombre único de la dimensión a la que pertenece este miembro. Los proveedores que generan nombres únicos por calificación tienen delimitados todos los componentes del nombre.

HIERARCHY_UNIQUE_NAME

Nombre único de la jerarquía. Si el miembro pertenece a más de una jerarquía, se incluye una fila por cada jerarquía a la que pertenece el miembro. Los proveedores que generan nombres únicos por calificación tienen delimitados todos los componentes del nombre.

IS_DATAMEMBER

Booleano que indica si el miembro es un miembro de datos.

KEYx

Clave del miembro, donde x es el valor ordinal (con base cero) de la clave. KEY0 está disponible para claves compuestas y no compuestas, mientras que KEY1, KEY2, etc., sólo están disponibles para claves compuestas. Key0, Key1, Key2, etc. forman en conjunto la clave compuesta.

LCIDx

Traducción del título de miembro al valor hexadecimal del Id. de configuración regional, donde x es el valor decimal del Id. de configuración regional (por ejemplo, LCID1009 como inglés de Canadá). Disponible únicamente si la traducción tiene una columna de título enlazada al origen de datos.

LEVEL_NUMBER

Distancia al miembro desde la raíz de la jerarquía. El nivel raíz es cero.

LEVEL_UNIQUE_NAME

Nombre único del nivel al que pertenece el miembro. Los proveedores que generan nombres únicos por calificación tienen delimitados todos los componentes del nombre.

MEMBER_CAPTION

Etiqueta o título asociado al miembro. El título se utiliza principalmente para la visualización. Si no existe ningún título, la consulta devuelve MEMBER_NAME.

MEMBER_KEY

Valor de la clave de miembro en el tipo de datos original. MEMBER_KEY se incluye por cuestiones de compatibilidad con versiones anteriores.  La propiedad MEMBER_KEY tiene el mismo valor que KEY0 para las claves no compuestas y es NULL para las claves compuestas.

MEMBER_NAME

Nombre del miembro.

MEMBER_TYPE

Tipo del miembro. Esta propiedad admite cualquiera de los siguientes valores:

  • MDMEMBER_TYPE_REGULAR

  • MDMEMBER_TYPE_ALL

  • MDMEMBER_TYPE_FORMULA

  • MDMEMBER_TYPE_MEASURE

  • MDMEMBER_TYPE_UNKNOWN

MDMEMBER_TYPE_FORMULA tiene precedencia sobre MDMEMBER_TYPE_MEASURE. Por tanto, si hay un miembro (calculado) de fórmula en la dimensión Measures, la propiedad MEMBER_TYPE del miembro calculado será MDMEMBER_TYPE_FORMULA.

MEMBER_UNIQUE_NAME

Nombre único del miembro. Los proveedores que generan nombres únicos por calificación tienen delimitados todos los componentes del nombre.

MEMBER_VALUE

Valor del miembro en el tipo de datos original.

PARENT_COUNT

Número de primarios que tiene este miembro.

PARENT_LEVEL

Distancia al primario del miembro desde el nivel raíz de la jerarquía. El nivel raíz es cero.

PARENT_UNIQUE_NAME

Nombre único del primario del miembro. Se devuelve NULL para todos los miembros del nivel raíz. Los proveedores que generan nombres únicos por calificación tienen delimitados todos los componentes del nombre.

SKIPPED_LEVELS

El número de niveles omitidos para el miembro.

UNARY_OPERATOR

Operador unario del miembro.

Sintaxis de PROPERTIES para las propiedades no contextuales

Utilice la siguiente sintaxis para especificar una propiedad de miembro intrínseca no contextual mediante la palabra clave PROPERTIES:

DIMENSION PROPERTIES Property

Tenga en cuenta que esta sintaxis no permite calificar la propiedad con una dimensión o un nivel. La propiedad no puede calificarse porque las propiedades de miembro intrínsecas no contextuales se aplican a todos los miembros de un eje.

Por ejemplo, una instrucción MDX que especifique la propiedad de miembro intrínseca DESCRIPTION debería tener la siguiente sintaxis:

DIMENSION PROPERTIES DESCRIPTION

Esta instrucción devuelve la descripción de cada miembro de la dimensión del eje. Si intenta calificar la propiedad con una dimensión o un nivel, como en Dimension.DESCRIPTION o en Level.DESCRIPTION, no se validará la instrucción.

Ejemplo

El ejemplo siguiente devuelve el recuento de los distribuidores cuyas ventas han disminuido en el período de tiempo anterior, de acuerdo con los valores de los miembros State-Province seleccionados por el usuario, evaluados mediante la función Aggregate. Las funciones Hierarchize (MDX) y DrilldownLevel (MDX) se utilizan para devolver valores para las ventas que han disminuido en las categorías de producto de la dimensión Product. La función Properties (MDX) se utiliza para devolver el nombre único de los miembros primarios devueltos en el eje de columna.

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]
   )

El siguiente ejemplo devuelve el título traducido del miembro de la categoría de producto en la dimensión Product del cubo de Adventure Works para las configuraciones regionales especificadas.

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]