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

Use

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çãoObservaçã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 prioridade de operadores usada pelo Microsoft SQL Server 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

  • AS

  • DISTINCT

  • :

  • ^

  • /, *

  • +, -

  • EXISTING

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

  • NOT

  • AND

  • XOR

  • OR

Para obter mais informações sobre operadores em MDX, consulte Referência de operador de MDX (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 dos agrupamentos determinam o agrupamento do resultado. Para obter mais informações sobre agrupamentos, consulte Idiomas e agrupamentos (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.

Convertendo 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

Conjunto

<level>.members

Hierarquia

Membro

<hierarchy>.defaultmember

Membro

Tupla

(<Member>)

Tupla

Membro

<tuple>.item(0)

Tupla

Escalar

<tuple>.value

Consulte também

Referência

Referência de operador de MDX (MDX)

Conceitos

Elementos MDX Syntax (MDX)