Compartilhar via


Operadores (sintaxe MDX)

Na linguagem MDX, os operadores permitem executar as seguintes ações:

  • Alterar os dados, permanente ou temporariamente.

  • Procurar valores ou objetos que atendam condições específicas.

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

  • Testar condições específicas antes de iniciar ou confirmar uma transação ou antes de executar instruções específicas.

O MDX oferece suporte para os operadores listados na tabela a seguir:

Para executar este tipo de operação Uso
Atribuir um valor a uma variável ou associar uma coluna de conjunto de resultados a um alias. Operadores de Atribuição
Adicionar, subtrair, multiplicar, dividir. Operadores aritméticos
Testar a legitimidade de uma condição, como AND, OR, NOT e XOR. Operadores bit a bit
Comparar um valor com outro valor ou uma expressão. Operadores de comparação
Combinar permanente ou temporariamente duas cadeias de caracteres em uma. Operadores de concatenação
Combinar permanente ou temporariamente duas expressões de conjunto em um único conjunto. Operadores de conjunto
Executar uma operação em um operando. Operadores unários

Observação

Em consultas, qualquer um que possa ver os dados no cubo a ser usado com algum tipo de operador pode executar operações. No entanto, você precisa ter as permissões apropriadas antes de poder alterar os dados com êxito.

Ao usar vários operadores, a ordem em que o MDX avalia os operadores é importante. Similarmente, o usuário dos operadores pode exigir que apenas um tipo de dados seja convertido em outro tipo de dados antes que os operadores possam ser avaliados.

Avaliando expressões complexas

Você pode criar uma expressão usando os 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 pelo Analysis Services. O MDX executa os operadores com prioridade mais alta antes de executar os operadores com prioridade mais baixa.

Entendendo a prioridade dos operadores

A lista a seguir mostra a prioridade dos operadores, da mais alta para a mais baixa. Os operadores que estão na mesma linha têm a mesma prioridade e são avaliados da esquerda para a direita, a não ser que seja definido de outro modo pelos parênteses:

  • IS

  • :

  • ^

  • /, *

  • +, -

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

  • NOT

  • AND

  • XOR

  • OU

Para obter mais informações sobre operadores no MDX, consulte MDX (Referência de Operador MDX).

Determinando resultados

Ao combinar expressões simples para formar uma expressão complexa, as regras dos operadores combinadas com as regras de prioridade do tipo de dados determinam o tipo de dados do valor resultante.

Se o resultado for um caractere ou valor Unicode, as regras dos operadores combinadas com as regras de prioridade das ordenações determinam a ordenação do resultado. Para obter mais informações sobre ordenações, consulte Linguagens e ordenações (Analysis Services).

Há também regras que determinam a precisão, a escala e a extensão do resultado, com base na precisão, na escala e na extensão das expressões simples.

Converter tipos de dados

O MDX converte implicitamente um objeto em 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 Conversão
Nível Definir <level.members>
Hierarquia Membro <hierarchy.defaultmember>
Membro Tupla (<Membro>)
Tupla Membro <tuple.item>(0)
Tupla Escalar <tuple.value>

Consulte Também

Referência de operador de MDX (MDX)
Elementos MDX Syntax (MDX)