Identificadores (MDX)
Um identificador é o nome de um objeto do Microsoft SQL Server Analysis Services. Cada objeto do Analysis Services pode e deve ter um identificador. Isto inclui cubos, dimensões, hierarquias, níveis, membros e assim por diante. Use o identificador de um objeto para fazer referência ao objeto em instruções de linguagem MDX.
Dependendo de como o objeto for nomeado, o identificador será um identificador normal ou delimitado.
Observação |
---|
Tanto os identificadores normais quanto os delimitados devem conter de 1 a 100 caracteres. |
Usando identificadores normais
Um identificador normal é um nome de objeto que está em conformidade com as regras de formatação a seguir para identificadores normais. Um identificador normal pode ser usado com ou sem delimitadores.
Regras de formatação para identificadores normais
O primeiro caractere deve ser um dos seguintes:
Uma letra, como definido pelo Unicode Standard 2.0. Além dos caracteres de letras de outros idiomas, a definição de letras do Unicode inclui caracteres latinos de a até z e de A até Z.
O sublinhado (_).
Os caracteres subseqüentes podem ser:
Letras, como definido no Unicode Standard 2.0.
Números decimais do latim básico ou de outros scripts nacionais.
O sublinhado (_).
O identificador não deve ser uma palavra-chave MDX reservada. As palavras-chave reservadas fazem diferenciação entre maiúsculas e minúsculas em MDX. Para obter mais informações, consulte Palavras-chave reservadas (Sintaxe MDX).
Não são permitidos espaços ou caracteres especiais.
Exemplos de identificadores normais
Na instrução MDX a seguir, os identificadores, Measures, Product e Style, estão em conformidade com as regras de formatação para identificadores normais. Esses identificadores normais não precisam de delimitadores.
SELECT Measures.MEMBERS ON COLUMNS,
Product.Style.CHILDREN ON ROWS
FROM [Adventure Works]
Embora não seja obrigatório, você também pode usar delimitadores com identificadores normais. Na instrução MDX a seguir, os identificadores normais Measures, Product e Style foram delimitados corretamente com colchetes.
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Style].CHILDREN ON ROWS
FROM [Adventure Works]
Usando identificadores delimitados
O identificador que não cumpre as regras de formatação dos identificadores normais deve ser sempre delimitado com colchetes ([]).
Observação |
---|
Delimitadores são apenas para identificadores. Os delimitadores não podem ser utilizados para palavras-chave, estejam elas marcadas ou não como reservadas no Analysis Services. |
Use identificadores delimitados nas seguintes situações:
Quando o nome de um objeto ou parte do nome usar palavras reservadas.
Recomendamos que palavras-chave reservadas não sejam usadas como nomes de objeto. Bancos de dados atualizados de versões anteriores do Analysis Services podem conter identificadores que incluem palavras não-reservadas na versão anterior, mas que são palavras reservadas para o SQL Server Analysis Services. Até que seja possível alterar o identificador do objeto, você pode fazer referência ao objeto usando um identificador delimitado.
Quando o nome de um objeto usa caracteres não listados como identificadores qualificados.
O Analysis Services permite um identificador delimitado use qualquer caractere na página de código atual. Porém, a utilização indiscriminada de caracteres especiais em um nome de objeto pode tornar as instruções e os 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 de delimitação. Se o corpo do identificador delimitado contiver caracteres de delimitação, será necessário um tratamento especial:
Se o corpo do identificador contiver somente um colchete esquerdo ([), não será necessária nenhuma manipulação especial.
Se o corpo do identificador contiver um colchete direito (]), será necessário especificar dois colchetes direitos (]]).
Exemplos de identificadores delimitados
Na instrução MDX hipotética a seguir, 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 fazer referência este objeto, você deve usar o seguinte identificador delimitado:
[Total Profit [Domestic]]]
O colchete esquerdo antes de Domestic não precisou ser alterado para criar o identificador delimitado. Porém, o colchete direito depois de Domestic precisou ser substituído por dois colchetes direitos.
Identificadores delimitados com várias partes
Quando nomes de objetos qualificados forem usados, talvez seja necessário delimitar mais de um dos identificadores que compõem o nome de objeto. Por exemplo, o identificador Front Brakes no código a seguir precisa ser delimitado.
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Product].[Front Brakes] ON ROWS
FROM [Adventure Works]
Além disso, o identificador Measures no exemplo anterior foi delimitado para demonstrar a delimitação de mais de um identificador.
Consulte também