Operadores (sintaxe MDX)

Em Expressões Multidimensionais (MDX), os operadores permitem que você realize as seguintes ações:

  • Altere os dados, seja de forma permanente ou temporaria.

  • Procure valores ou objetos que atendam a uma condição especificada.

  • Implemente uma decisão entre valores ou expressões.

  • Teste condições específicas antes de iniciar ou comprometer uma transação, ou antes de executar instruções específicas.

O MDX suporta os operadores listados na tabela a seguir:

Para realizar esse tipo de operação Utilização
Atribui um valor a uma variável ou associa uma coluna de conjunto de resultados a um alias. Operadores de Atribuição
Adição, subtração, multiplicação, divisão. Operadores aritméticos
Teste a veracidade de uma condição, como AND, OR, NOT e XOR. Operadores bit a bit
Compare um valor com outro valor ou expressão. Operadores de comparação
Combine permanentemente ou temporariamente duas cordas em uma só corda. Operadores de Concatenação
Combine permanentemente ou temporariamente duas expressões conjuntas em um único conjunto. Definir operadores
Realiza uma operação em um operando. Operadores Unários

Note

Em consultas, qualquer pessoa que possa ver os dados no cubo a serem usados com algum tipo de operador pode realizar operações. No entanto, você precisa das permissões apropriadas antes de conseguir alterar os dados com sucesso.

Ao usar múltiplos operadores, a ordem em que o MDX avalia os operadores é importante. Da mesma forma, o usuário dos operadores pode exigir que um tipo de dado seja convertido em outro tipo antes que os operadores possam ser avaliados.

Avaliação de Expressões Complexas

Você pode construir uma expressão usando operadores para combinar várias expressões menores. Nessas expressões complexas, o MDX avalia os operadores em ordem com base na definição de precedência de operador usada pelos Serviços de Análise. O MDX executa operadores com precedência maior antes de executar operadores com precedência inferior.

Entendendo a Precedência do Operador

A lista a seguir mostra a precedência do operador, do maior ao menor. Operadores na mesma linha são iguais em precedência e são avaliados da esquerda para a direita, a menos que seja forçado de outra forma por parêntese:

  • IS

  • :

  • ^

  • /, *

  • +, -

  • <>, >=, =, <=, >, <

  • NOT

  • AND

  • XOR

  • OR

Para mais informações sobre operadores em MDX, veja Reference de Operador MDX (MDX).

Determinando os Resultados

Quando você combina expressões simples para formar uma expressão complexa, as regras dos operadores combinadas com as regras de precedência de tipos de dados determinam o tipo de dado do valor resultante.

Se o resultado for um caractere ou valor Unicode, as regras dos operadores combinadas com as regras de precedência de colação determinam a colação do resultado. Para mais informações sobre as colações, veja Linguagens e Coletações (Serviços de Análise).

Também existem regras que determinam a precisão, escala e comprimento do resultado com base na precisão, escala e comprimento das expressões simples.

Converter tipos de dados

O MDX converte implicitamente um objeto para um tipo diferente quando esse objeto é usado em uma expressão que requer um tipo diferente. A tabela a seguir define as regras de conversão para cada objeto.

Tipo Original Tipo necessário Conversion
Nível Definir <level.members>
Hierarchy Membro <hierarquia.defaultmember>
Membro Tuplo (<Membro>)
Tuplo Membro <tuple.item>(0)
Tuplo Escalar <tuple.value>