Identificadores (MDX)

Un identificador es el nombre de un objeto de Servicios de Análisis. Cada objeto puede y debe tener un identificador. Esto incluye cubos, dimensiones, jerarquías, niveles, miembros, etc. Usas el identificador de un objeto para referenciarlo en sentencias de Expresiones Multidimensionales (MDX).

Dependiendo de cómo nombre el objeto, el identificador del objeto será un identificador regular o delimitado.

Note

Tanto los identificadores regulares como los delimitados deben contener caracteres de 1 a 100.

Uso de identificadores regulares

Un identificador regular es un nombre de objeto que cumple con las siguientes reglas de formato para identificadores regulares. Un identificador normal puede usarse con o sin delimitadores.

Reglas de formato para identificadores regulares

  1. El primer carácter debe ser uno de los siguientes:

    • Una letra según la definición del Estándar Unicode 2.0. Además de caracteres de letras de otros idiomas, la definición Unicode de letras incluye caracteres latinos de la a la z y de la A a la Z.

    • El guion bajo (_).

  2. Los personajes posteriores pueden ser:

    • Letras según la definición del estándar Unicode 2.0.

    • Números decimales de alfabeto latino básico u otros scripts nacionales.

    • El guion bajo (_).

  3. El identificador no debe ser una palabra clave reservada por MDX. Las palabras clave reservadas no son sensibles a mayúsculas y minúsculas en MDX. Para más información, véase Palabras Clave Reservadas (Sintaxis MDX).

  4. No se permiten espacios incrustados ni caracteres especiales.

Ejemplos de identificadores regulares

En la siguiente instrucción MDX, los identificadores, Measures, Product, y Style, cumplen con las reglas de formato para identificadores regulares. Estos identificadores regulares no necesitan delimitadores.

SELECT Measures.MEMBERS ON COLUMNS,  
Product.Style.CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Aunque no es obligatorio, también podrías usar delimitadores con identificadores normales. En la siguiente sentencia MDX, los Measuresidentificadores , Product, y Style regulares han sido delimitados correctamente usando corchetes.

SELECT [Measures].MEMBERS ON COLUMNS,  
[Product].[Style].CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Uso de identificadores delimitados

Un identificador que no cumpla con las reglas de formato para identificadores regulares debe estar siempre delimitado usando corchetes ([]).

Note

Los delimitadores son solo para identificadores. No se pueden usar delimitadores para palabras clave, independientemente de si las palabras clave están marcadas como reservadas en Analysis Services o no.

Utilizas un identificador delimitado en las siguientes situaciones:

  • Cuando el nombre de un objeto o parte del nombre utiliza palabras reservadas.

    Recomendamos que no se usen palabras clave reservadas como nombres de objetos. Las bases de datos actualizadas desde versiones anteriores de Analysis Services pueden contener identificadores que incluyen palabras que no estaban reservadas en la versión anterior, pero que ahora están reservadas. Hasta que puedas cambiar el identificador del objeto, puedes referenciarlo usando un identificador delimitado.

  • Cuando el nombre de un objeto utiliza caracteres que no están listados como identificadores cualificados.

    Analysis Services permite que un identificador delimitado utilice cualquier carácter en la página de códigos actual. Sin embargo, el uso indiscriminado de caracteres especiales en el nombre de un objeto puede dificultar la lectura y el mantenimiento de las sentencias y scripts MDX.

Reglas de formato para identificadores delimitados

El cuerpo de un identificador delimitado puede contener cualquier combinación de caracteres en la página de código actual, incluidos los propios caracteres delimitadores. Si el cuerpo del identificador delimitado contiene caracteres delimitadores, se requiere un manejo especial:

  • Si el cuerpo del identificador contiene solo un corchete izquierdo ([), no se requiere ningún manejo adicional.

  • Si el cuerpo del identificador contiene un corchete derecho (]), debes especificar dos corchetes derechos (]]).

Ejemplos de identificadores delimitados

En la siguiente afirmación hipotética MDX, Sales Volume, Sales Cube, y select son identificadores delimitados:

-- The [Sales Volume] and [Sales Cube] identifiers contain a space.  
SELECT Measures.[Sales Volume]  
FROM [Sales Cube]  
WHERE Product.[select]  
-- The [select] identifier is a reserved keyword.  

En este siguiente ejemplo, el nombre de un objeto es Total Profit [Domestic]. Para referenciar este objeto, debes usar el siguiente identificador delimitado:

[Total Profit [Domestic]]]

Observa que el corchete izquierdo anterior Domestic no tuvo que cambiarse para crear el identificador delimitado. Sin embargo, el soporte derecho posterior Domestic tuvo que ser reemplazado por dos soportes derechos.

Delimitación de identificadores con múltiples partes

Cuando usas nombres de objetos calificados, puede que tengas que delimitar más de uno de los identificadores que conforman el nombre del objeto. Por ejemplo, el identificador de frenos delanteros en el siguiente código necesita ser delimitado.

SELECT [Medidas]. MIEMBROS EN COLUMNAS,

[Producto]. [Producto]. [frenos delanteros] EN FILAS

DE [Adventure Works]

Además, el identificador de Medidas en el ejemplo anterior fue delimitado para demostrar la delimitación de más de un identificador.