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. |
|
Sumar, restar, multiplicar, dividir. |
|
Probar si una condición es cierta, como AND, OR, NOT y XOR. |
|
Comparar un valor con otro valor o una expresión. |
|
Combinar de forma permanente o temporal dos cadenas en una. |
|
Combinar temporal o permanentemente dos conjuntos de expresiones en un solo conjunto. |
|
Realizar una operación en un operando. |
[!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 MicrosoftSQL ServerAnalysis 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 - Datos multidimensionales).
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 |
---|---|---|
Nivel |
Conjunto |
<level>.members |
Jerarquía |
Miembro |
<hierarchy>.defaultmember |
Miembro |
Tupla |
(<Member>) |
Tupla |
Miembro |
<tuple>.item(0) |
Tupla |
Escalar |
<tuple>.value |
Vea también