Compartir a través de


Propiedades de miembro MDX: propiedades de miembro intrínsecas

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services expone propiedades intrínsecas en miembros de dimensión que puede incluir en una consulta para devolver datos o metadatos adicionales para su uso en una aplicación personalizada, o para ayudar en la investigación o construcción del modelo. Si utiliza las herramientas de cliente de SQL Server, puede ver las propiedades intrínsecas en SQL Server Management Studio (SSMS).

Las propiedades intrínsecas son ID, KEY, KEYxy NAME, que son las propiedades que exponen todos los miembros de cualquier nivel. También puede devolver información de posición, como LEVEL_NUMBER o PARENT_UNIQUE_NAME, entre otros.

Dependiendo de cómo se crea la consulta, y de la aplicación cliente que se utiliza para ejecutar las consultas, las propiedades de miembro pueden o no estar visibles en el conjunto de resultados. Si utiliza SQL Server Management Studio para probar o ejecutar consultas, puede hacer doble clic en un miembro del conjunto de resultados para abrir el cuadro de diálogo Propiedades del miembro, que muestra los valores de cada propiedad de miembro intrínseca.

Para obtener una introducción sobre el modo de utilizar y ver las propiedades de miembro de dimensión, vea Visualización de las propiedades de miembro de SSAS en una ventana de consulta MDX en SSMS.

Nota:

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

Los proveedores distintos de SQL ServerSQL Server Analysis Services pueden admitir 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 admitidas por SQL Server SQL Server Analysis Services son de dos tipos:

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

Observe cómo se incluye en el ejemplo siguiente la ruta de acceso de la propiedad KEY : MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY").

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 devuelven los valores para todos los miembros de un eje.

Las propiedades no contextuales son independientes y no incluyen información de ruta de acceso. Observe cómo no hay ninguna dimensión o nivel especificado para PARENT_UNIQUE_NAME en el ejemplo siguiente: DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS

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 secciones siguientes se describen las distintas propiedades de miembro intrínsecas sensibles al contexto y no contextuales disponibles en SQL Server SQL Server Analysis Services y cómo usar 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.
Clave 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.
KEYx Clave del miembro, donde x es el valor ordinal (con base cero) de la clave. KEY0 está disponible para las claves compuestas y no compuestas, pero se usa principalmente para las claves compuestas.

Para las claves compuestas, el conjunto KEY0, KEY1, KEY2, etc. forma la clave compuesta. Puede utilizar cualquiera de ellas por separado en una consulta para devolver esa parte de la clave compuesta. Por ejemplo, si se especifica KEY0, se devuelve la primera parte de la clave compuesta, si se especifica KEY1, se devuelve la parte siguiente de la clave compuesta, y así sucesivamente.

Si la clave no es compuesta, KEY0 equivale a Key.

Tenga en cuenta que KEYx se puede utilizar tanto con contexto como sin contexto. Por esta razón, aparece en las dos listas.

Para obtener un ejemplo de cómo utilizar esta propiedad de miembro, vea Una sencilla curiosidad de MDX: Key0, Key1, Key2.
Nombre 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 solamente 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 tabla siguiente se enumeran las propiedades intrínsecas no contextuales compatibles con SQL Server 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 sobre el conjunto de filas de esquema MEMBERS , vea MDSCHEMA_MEMBERS conjunto de filas.

Propiedad Descripción
CATALOG_NAME Nombre del cubo al que pertenece este miembro.
CHILDREN_CARDINALITY Número de elementos secundarios que tiene este 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.
CUSTOM_ROLLUP Expresión de miembro personalizado.
CUSTOM_ROLLUP_PROPERTIES Propiedades de miembro personalizado.
DESCRIPCIÓN 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 Valor booleano que indica si el miembro es un miembro de datos.
IS_PLACEHOLDERMEMBER Valor booleano que indica si el miembro es un marcador de posición.
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.

Si la clave no es compuesta, KEY0 equivale a Key.

Para las claves compuestas, el conjunto KEY0, KEY1, KEY2, etc. forma la clave compuesta. Puede hacer referencia a cualquiera de ellas por separado en una consulta para devolver esa parte de la clave compuesta. Por ejemplo, si se especifica KEY0, se devuelve la primera parte de la clave compuesta, si se especifica KEY1, se devuelve la parte siguiente de la clave compuesta, y así sucesivamente.

Tenga en cuenta que KEYx se puede utilizar tanto con contexto como sin contexto. Por esta razón, aparece en las dos listas.

Para obtener un ejemplo de cómo utilizar esta propiedad de miembro, vea Una sencilla curiosidad de MDX: Key0, Key1, Key2.
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 descripción 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 descripción asociada 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



Nota: MDMEMBER_TYPE_FORMULA tiene precedencia sobre MDMEMBER_TYPE_MEASURE. Por lo tanto, si hay un miembro (calculado) de fórmula en la dimensión de medidas, 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 elemento primario del miembro. Se devuelveNULL 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.
UNIQUE_NAME El nombre completo del miembro, con este formato: [dimensión].[nivel].[key6.]

Sintaxis de PROPERTIES para las propiedades no contextuales

Use la sintaxis siguiente para especificar una propiedad de miembro intrínseca no contextual con 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 intentó calificar la propiedad con una dimensión o un nivel, como en Dimensión.DESCRIPTION o Nivel.DESCRIPTION, la instrucción no se validaría.

Ejemplo

En los ejemplos siguientes se muestran consultas MDX que devuelven propiedades intrínsecas.

Ejemplo 1: usar propiedades intrínsecas contextuales en una consulta

El ejemplo siguiente devuelve el identificador principal, la clave y el nombre de cada categoría de producto. Observe cómo las propiedades se exponen como medidas. Esto permite ver las propiedades en un conjunto de celdas al ejecutar la consulta, en lugar de usar el cuadro de diálogo Propiedades del miembro de SSMS. Puede ejecutar una consulta como esta para recuperar los metadatos de miembro de un cubo implementado previamente.

WITH  
MEMBER [Measures].[Parent Member ID] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")  
MEMBER [Measures].[Parent Member Key] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")  
MEMBER [Measures].[Parent Member Name] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")  
SELECT  
 {[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS,   
 [Product].[Product Categories].AllMembers on ROWS  
FROM [Adventure Works]  

Ejemplo 2: propiedades intrínsecas no contextuales

El ejemplo siguiente contiene la lista completa de propiedades intrínsecas no contextuales. Después de ejecutar la consulta en SSMS, haga clic en los distintos miembros para ver las propiedades en el cuadro de diálogo Propiedades del miembro.

SELECT [Measures].[Sales Amount Quota] on COLUMNS,  
[Employee].[Employees].members  
DIMENSION PROPERTIES  
 CATALOG_NAME ,   
 CHILDREN_CARDINALITY ,  
 CUSTOM_ROLLUP ,   
 CUSTOM_ROLLUP_PROPERTIES ,   
 DESCRIPTION ,   
 DIMENSION_UNIQUE_NAME ,   
 HIERARCHY_UNIQUE_NAME ,  
 IS_DATAMEMBER ,   
 IS_PLACEHOLDERMEMBER ,   
 KEY0 ,  
 LCID ,  
 LEVEL_NUMBER ,  
 LEVEL_UNIQUE_NAME ,  
 MEMBER_CAPTION ,   
 MEMBER_KEY ,   
 MEMBER_NAME ,   
 MEMBER_TYPE ,  
 MEMBER_UNIQUE_NAME ,   
 MEMBER_VALUE ,   
 PARENT_COUNT ,   
 PARENT_LEVEL ,   
 PARENT_UNIQUE_NAME ,  
 SKIPPED_LEVELS ,   
 UNARY_OPERATOR ,   
 UNIQUE_NAME    
 ON ROWS  
FROM [Adventure Works]  
WHERE [Employee].[Employee Department].[Department].&[Sales]  

Ejemplo 3: devolver propiedades de miembro como datos en un conjunto de resultados

El siguiente ejemplo devuelve la descripción traducida 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]  
  

Consulte también

PeriodsToDate (MDX)
Children (MDX)
Hierarchize (MDX)
Count (Set) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Properties (MDX)
PrevMember (MDX)
Usar las propiedades de miembro (MDX)
Referencia de funciones MDX (MDX)