Identificadores (MDX)

Um identificador é o nome de um objeto de Serviços de Análise. Cada objeto pode e deve ter um identificador. Isto inclui cubos, dimensões, hierarquias, níveis, membros, e assim por diante. Utiliza-se o identificador de um objeto para o referenciar em instruções de Expressões Multidimensionais (MDX).

Dependendo da forma como se nomeia o objeto, o identificador do identificador será um identificador regular ou delimitado.

Note

Tanto os identificadores regulares como os delimitados devem conter de 1 a 100 caracteres.

Utilização de Identificadores Regulares

Um identificador regular é um nome de objeto que cumpre as seguintes regras de formatação para identificadores regulares. Um identificador normal pode ser usado com ou sem delimitadores.

Regras de Formatação para Identificadores Regulares

  1. O primeiro carácter deve ser um dos seguintes:

    • Uma letra conforme definida pelo Padrão Unicode 2.0. Além dos caracteres de letras de outras línguas, a definição Unicode de letras inclui caracteres latinos de a a z e de A a a Z.

    • O sublinhado (_).

  2. As personagens subsequentes podem ser:

    • Letras conforme definidas no Padrão Unicode 2.0.

    • Números decimais do latim básico ou de outros alfabetos nacionais.

    • O sublinhado (_).

  3. O identificador não pode ser uma palavra-chave reservada MDX. Palavras-chave reservadas são insensíveis a maiúsculas minúsculas no MDX. Para mais informações, consulte Palavras-chave Reservadas (Sintaxe MDX).

  4. Espaços embutidos ou caracteres especiais não são permitidos.

Exemplos de identificadores regulares

Na seguinte instrução MDX, os identificadores, Measures, Product, e Style, cumprem as regras de formatação para identificadores regulares. Estes identificadores regulares não necessitam de delimitadores.

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

Embora não seja obrigatório, também pode usar delimitadores com identificadores normais. Na seguinte instrução MDX, os Measuresidentificadores , Product, e Style regulares foram corretamente delimitados usando parênteses.

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

Utilização de Identificadores Delimitados

Um identificador que não cumpra as regras de formatação dos identificadores normais deve ser sempre delimitado por parênteses ([]).

Note

Os delimitadores são apenas para identificadores. Os delimitadores não podem ser usados para palavras-chave, independentemente de as palavras-chave estarem ou não marcadas como reservadas nos Serviços de Análise.

Utiliza-se um identificador delimitado nas seguintes situações:

  • Quando o nome de um objeto ou parte do nome usa palavras reservadas.

    Recomendamos que palavras-chave reservadas não sejam usadas como nomes de objetos. Bases de dados atualizadas a partir de versões anteriores dos Serviços de Análise podem conter identificadores que incluem palavras não reservadas na versão anterior, mas que agora estão reservadas. Até conseguires alterar o identificador do objeto, podes referenciar o objeto usando um identificador delimitado.

  • Quando o nome de um objeto utiliza caracteres não listados como identificadores qualificados.

    Os Serviços de Análise permitem que um identificador delimitado use qualquer carácter na página de código atual. No entanto, o uso indiscriminado de caracteres especiais no nome de um objeto pode tornar as instruções e scripts MDX difíceis de ler e manter.

Regras de Formatação para Identificadores Delimitados

O corpo de um identificador delimitado pode conter qualquer combinação de caracteres na página de código atual, incluindo os próprios caracteres delimitadores. Se o corpo do identificador delimitado contiver caracteres delimitadores, é necessário um tratamento especial:

  • Se o corpo do identificador contiver apenas um colchete esquerdo ([), não é necessário tratamento adicional.

  • Se o corpo do identificador contiver um colchete direito (]), deve especificar dois colchetes à direita (]]).

Exemplos de identificadores delimitados

Na seguinte afirmação MDX hipotética, Sales Volume, Sales Cube, e select são 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.  

Neste próximo exemplo, o nome de um objeto é Total Profit [Domestic]. Para referenciar este objeto, deve usar o seguinte identificador delimitado:

[Total Profit [Domestic]]]

Note que o colchete esquerdo anterior Domestic não teve de ser alterado para criar o identificador delimitado. No entanto, o suporte direito seguinte Domestic teve de ser substituído por dois suportes direitos.

Delimitação de Identificadores com Múltiplas Partes

Quando usa nomes de objetos qualificados, pode ser necessário delimitar mais do que um dos identificadores que compõem o nome do objeto. Por exemplo, o identificador de Front Brakes no código seguinte precisa de ser delimitado.

SELECT [Medidas]. MEMBROS NAS COLUNAS,

[Produto]. [Produto]. [Travões Dianteiros] NAS FILAS

DE [Adventure Works]

Além disso, o identificador Measures no exemplo anterior foi delimitado para demonstrar a delimitação de mais do que um identificador.