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. |
|
Adicionar, subtrair, multiplicar, dividir. |
|
Testar a legitimidade de uma condição, como AND, OR, NOT e XOR. |
|
Comparar um valor com outro valor ou uma expressão. |
|
Combinar permanente ou temporariamente duas cadeias de caracteres em uma. |
|
Combinar permanente ou temporariamente duas expressões de conjunto em um único conjunto. |
|
Executar uma operação em um operando. |
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 prioridade de operadores usada pelo MicrosoftSQL ServerAnalysis 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 - Dados Multidimensionais).
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 |