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 Use
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 Set
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 orden en función de la definición de prioridad de operador usada por 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

  • :

  • ^

  • /, *

  • +, -

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

  • NOT

  • y

  • XOR

  • O BIEN

Para obtener más información sobre los operadores en MDX, vea Referencia del operador 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 sobre 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 sencillas.

Conversión de 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
Nivel Set <level.members>
Hierarchy Miembro <hierarchy.defaultmember>
Miembro Tuple (<Miembro>)
Tuple Miembro <tuple.item>(0)
Tuple Escalar <tuple.value>

Consulte también

Referencia de operadores de MDX (MDX)
Elementos de la sintaxis de MDX (MDX)