Operadores (sintaxis de MDX)

En las expresiones multidimensionales (MDX), los operadores permiten llevar a cabo las siguientes acciones:

  • Cambiar datos, permanente o temporalmente.

  • Buscar valores u objetos que cumplan una condición específica.

  • Implementar una decisión entre columnas o expresiones.

  • Probar determinadas condiciones antes de iniciar o confirmar una transacción, o antes de ejecutar determinadas instrucciones.

MDX es compatible con los operadores que se indican en la siguiente tabla:

Para realizar este tipo de operación

Utilice

Asignar un valor a una variable o asociar una columna de un conjunto de resultados a un alias.

Operadores de asignación

Sumar, restar, multiplicar, dividir.

Operadores aritméticos

Probar si una condición es cierta, como AND, OR, NOT y XOR.

Operadores bit a bit

Comparar un valor con otro valor o una expresión.

Operadores de comparación

Combinar de forma permanente o temporal dos cadenas en una.

Operadores de concatenación

Combinar temporal o permanentemente dos conjuntos de expresiones en un solo conjunto.

Operadores de conjuntos

Realizar una operación en un operando.

Operadores unarios

[!NOTA]

En las consultas, cualquier persona que pueda ver los datos del cubo que se usarán con algún tipo de operador puede realizar operaciones. Para cambiar los datos correctamente, son necesarios los permisos adecuados.

Cuando se utilizan varios operadores, el orden en que MDX los evalúa es importante. Del mismo modo, es posible que el usuario de los operadores tenga que convertir un tipo de datos en otro para poder evaluar los operadores.

Evaluar expresiones complejas

Puede generar una expresión mediante el uso de operadores que combinen varias expresiones más pequeñas. En estas expresiones complejas, MDX evalúa los operadores en un orden que se basa en la definición de la precedencia de operadores utilizados por Microsoft SQL Server Analysis Services. MDX ejecuta los operadores con mayor precedencia antes que los operadores con menor precedencia.

Descripción de la precedencia de los operadores

En la siguiente lista se muestra la precedencia de los operadores, de mayor a menor. Los operadores situados en la misma línea tienen el mismo nivel de precedencia y se evalúan de izquierda a derecha, salvo que el uso de un paréntesis obligue a hacerlo de otro modo:

  • IS

  • AS

  • DISTINCT

  • :

  • ^

  • /, *

  • +, -

  • EXISTING

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

  • NOT

  • AND

  • XOR

  • OR

Para obtener más información acerca de los operadores en MDX, vea Referencia de operadores de MDX (MDX).

Determinar los resultados

Cuando se combinan expresiones simples para crear una más compleja, el tipo de datos del valor resultante viene determinado por la combinación de las reglas de los operadores con las reglas de precedencia para los tipos de datos.

Si el resultado es un carácter o un valor de Unicode, la intercalación del resultado viene determinada por la combinación de las reglas de los operadores con las reglas de precedencia de intercalación. Para obtener más información acerca de las intercalaciones, vea Idiomas e intercalaciones (Analysis Services).

También hay reglas que determinan la precisión, escala y longitud del resultado, basándose en la precisión, escala y longitud de las expresiones simples.

Convertir tipos de datos

MDX convierte implícitamente un objeto a un tipo distinto cuando el objeto se usa en una expresión que requiere un tipo diferente. En la siguiente tabla se definen las reglas de conversión de cada objeto.

Tipo original

Tipo necesario

Conversión

Level

Set

<level>.members

Jerarquía

Miembro

<hierarchy>.defaultmember

Miembro

Tuple

(<Member>)

Tuple

Miembro

<tuple>.item(0)

Tuple

Escalar

<tuple>.value

Vea también

Referencia

Referencia de operadores de MDX (MDX)

Conceptos

Elementos de la sintaxis de MDX (MDX)