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:
|
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_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]