Excel DAX - Operadores

DAX es un lenguaje de fórmulas que consta de funciones, operadores y valores que se pueden usar en una fórmula o expresión para calcular y devolver uno o más valores.

Puedes usar DAX operatorspara comparar valores, realizar cálculos aritméticos y concatenar cadenas. En este capítulo, aprenderá acerca de los operadores DAX y cómo usarlos.

Tipos de operadores DAX

DAX admite los siguientes tipos de operadores:

Orden de precedencia del operador DAX

Puede tener una fórmula DAX con muchos operadores DAX que combinen varios valores o expresiones. En tal caso, el resultado final dependerá del orden en que se realicen las operaciones. DAX le proporciona el orden de precedencia del operador predeterminado y también formas de anular el orden de precedencia predeterminado.

La precedencia de operador predeterminada de DAX se enumera en la siguiente tabla.

Orden de precedencia Operador (es) Operación
1 ^ Exponenciación
2 - Firmar
3 * y / Multiplicación y división
4 ! NO
5 + y - Adición y sustracción
6 Y Concatenación
7 =, <,>, <=,> = y <> Igual a, Menor que, Mayor que, Menor o igual a, Mayor o igual a y No igual a

Sintaxis de expresión DAX

Primero debe comprender la sintaxis de la expresión DAX y cómo se realiza la evaluación de la expresión con los operandos y operadores.

  • Todas las expresiones siempre comienzan con un signo igual (=). El signo igual indica que los caracteres siguientes constituyen una expresión.

  • A la derecha del signo igual, tendrá los operandos conectados por los operadores DAX. Por ejemplo, = 5 + 4> 5.

    = 5 * 6 - 3.

  • Las expresiones siempre se leen de izquierda a derecha y los cálculos se realizan en esa secuencia, según la precedencia del operador DAX dada en la sección anterior.

  • Si los operadores DAX tienen el mismo valor de precedencia, se evalúan de izquierda a derecha. Por ejemplo, = 5 * 6/10. Ambos * y / tienen el mismo orden precedente. Por tanto, la expresión se evalúa como 30/10 = 3.

  • Si los operadores DAX de la expresión tienen diferentes valores de precedencia, se evalúan en el orden de precedencia de izquierda a derecha.

    • = 5 + 4> 7. La precedencia predeterminada es + primero y> siguiente. Por tanto, la expresión se calcula de izquierda a derecha. - 5 + 4 se calcula primero dando como resultado 9 y luego se evalúa 9> 5 que resulta en VERDADERO.

    • = 5 * 6 - 3. La precedencia predeterminada es * primero y - siguiente. Por tanto, la expresión se calcula de izquierda a derecha. - 5 * 6 se calcula primero que da como resultado 30 y luego 30 - se calcula 3 que da como resultado 27.

    • = 2 * 5 - 6 * 3. La precedencia predeterminada es * primero, * siguiente y luego -. Por lo tanto, la expresión se evalúa como 10 - 18 y luego como -8. Tenga en cuenta que no es 10 - 6 resultando en 4 y luego 4 * 3 que es 12.

Uso de paréntesis para controlar el orden de cálculo de DAX

Puede cambiar el orden de precedencia de operadores predeterminado de DAX utilizando paréntesis, agrupando los operandos y los operadores para controlar la secuencia de cálculo.

Por ejemplo, = 5 * 6 - 3 se evalúa como 27 con el orden de precedencia del operador predeterminado de DAX. Si usa paréntesis para agrupar los operandos y operadores como = 5 * (6 - 3), entonces 6 - 3 se calcula primero dando como resultado 3 y luego se calcula 5 * 3 que resulta en 15.

= 2 * 5 - 6 * 3 se evalúa como -8 con el orden de precedencia del operador predeterminado de DAX. Si usa paréntesis para agrupar los operandos y operadores como = 2 * (5-6) * 3, entonces 5-6 se calcula primero dando como resultado -1 y luego se calcula 2 * (-1) * 3 lo que da como resultado -6 .

Como puede ver, con los mismos operandos y operadores, la forma en que los agrupa es posible obtener resultados diferentes. Por lo tanto, cuando utilice los operadores DAX en las fórmulas DAX, debe prestar atención a cómo será la secuencia de cálculo.

Diferencias entre Excel y DAX

Aunque DAX tiene similitudes con las fórmulas de Excel, existen ciertas diferencias significativas entre los dos.

  • DAX es más potente que Excel debido a su motor de cálculo residente en memoria subyacente.

  • DAX admite más tipos de datos que Excel.

  • DAX proporciona funciones avanzadas adicionales de una base de datos relacional, modelo de datos, que incluye un soporte más completo para tipos de fecha y hora.

En algunos casos, los resultados de los cálculos o el comportamiento de las funciones en DAX pueden no ser los mismos que en Excel. Esto se debe a las diferencias en lo siguiente:

  • Conversión de tipo de datos
  • Tipos de datos

Diferencia en la conversión de tipos de datos

En DAX, cuando tiene una expresión = valor1 operador valor2, los dos operandos valor1 y valor2 deben ser del mismo tipo de datos. Si los tipos de datos son diferentes, DAX los convertirá primero en un tipo de datos común implícitamente. Consulte el capítulo - Sintaxis de DAX para obtener más detalles.

Por ejemplo, debe comparar dos operandos de diferentes tipos de datos, digamos un número resultante de una fórmula, como = [Cantidad] * 0.08 y un número entero. El primer número puede ser un número decimal con muchos lugares decimales, mientras que el segundo número es un número entero. Entonces DAX lo maneja de la siguiente manera:

  • Primero, DAX convertirá ambos operandos en números reales usando el formato numérico más grande que puede almacenar ambos tipos de números.

  • A continuación, DAX comparará los dos números reales.

Por el contrario, Excel intenta comparar valores de diferentes tipos de datos sin forzarlos primero a un tipo de datos común. Por esta razón, puede encontrar resultados diferentes en DAX y en Excel para la misma expresión de comparación.

Diferencia en tipos de datos

El orden de precedencia de los operadores en DAX y Excel es el mismo. Sin embargo, el porcentaje de operador (%) y los rangos de datos que admite Excel no son compatibles con DAX. Además, DAX admite tablas como tipo de datos, lo que no es el caso en Excel.

Además, en las fórmulas de Excel, puede hacer referencia a una sola celda, una matriz o un rango de celdas. En las fórmulas DAX, no puede hacer referencia a ninguno de estos. Las referencias de la fórmula DAX a los datos deben ser por tablas, columnas, campos calculados y columnas calculadas.

Si copia fórmulas de Excel y las pega en DAX, asegúrese de que la fórmula de DAX sea correcta, ya que la sintaxis de DAX es diferente de la sintaxis de fórmulas de Excel. Además, incluso si una función tiene el mismo nombre en DAX y Excel, sus parámetros pueden ser diferentes y el resultado de la función también puede ser diferente.

Aprenderá más sobre todo esto en los capítulos siguientes.