DAX es un acrónimo de Data Analysis eXpressions. DAX es el lenguaje de programación de Power BI que se utiliza dentro de los siguientes productos de inteligencia empresarial comercial:

  • Power BI
  • Power PivotPower Pivot para Excel
  • SQL Server Analysis Services Tabular (SSAS Tabular)

Power BI en 5 minutos

Power BI, Power PivotPower Pivot y SSAS Tabular son todas las herramientas de informes de inteligencia empresarial que usan el mismo «motor» subyacente. Este motor se llamaba originalmente xVelocity (también Vertipaq) cuando Microsoft desarrolló por primera vez el producto. Para el resto de este artículo usaré el término Modelo de datos de Power BI para hacer referencia a este motor en todos los productos. Power BI Data Model es una base de datos de informes de inteligencia empresarial fácil de usar desarrollada por el equipo de SSAS de Microsoft.

El modelo de datos de Power BI se creó desde cero con cuidado para los usuarios de Excel (también pros de SQL, por supuesto). En parte como resultado de esta consideración, DAX se desarrolló como un lenguaje funcional. Todo esto significa que cuando se usa DAX para programar en Power BI Data Model, se escriben funciones para completar cada tarea. Este es un punto muy importante porque Excel también es un lenguaje funcional. Este es un gran cambio de los lenguajes de programación de inteligencia empresarial histórica (por ejemplo, MDX) que eran muy difíciles de aprender.

Muchas de las funciones DAX son idénticas o similares a las funciones de Excel, lo que garantiza una coherencia relativa para la base de usuarios de destino.

Ejemplos

Comparación de funciones

DAXEXCELCOMENTARIOS
SUM(table[column])SUM(<range>) 
MAX(tabla[columna])MAX(<rango>) 
PROMEDIO(tabla[columna])PROMEDIO(<rango>) 
OR(<condición 1>,<condición 2>)OR(<input1>,<input2>,<input n>)Tenga en cuenta que DAX solo tiene 2 parámetros

Como se puede ver arriba, las funciones son a menudo idénticas en sintaxis, pero a veces no lo son, como es el caso de la función OR().

Desafortunadamente, las similitudes entre las funciones DAX y las funciones de Excel crean un cierto nivel de exceso de confianza en la mayoría de los usuarios de Excel hasta el punto de que la mayoría de la gente subestima lo difícil que es realmente entender el modelo de datos de Power BI. El problema es que las personas que pasan de Excel tradicional a Power BI necesitan aprender a trabajar con datos en tablas, columnas y filas en lugar de celdas independientes. He enseñado a miles de estudiantes el lenguaje DAX y este es, de lejos, el mayor obstáculo para que los usuarios de Excel comiencen. Una vez que un usuario de Excel hace la transición de trabajar con celdas de datos y aprende a trabajar con tablas de datos, están apagados y funcionando con una nueva bolsa de kit de habilidades. Si usted no está allí y necesita ayuda, tengo una serie de opciones de aprendizaje, incluyendo mi libro,mi formación en línea o mi formación en vivo en Australia.

¿Necesito aprender el idioma DAX?

Ciertamente, no necesita saber cómo escribir DAX para empezar a usar Power BI. Power BI es la herramienta de inteligencia empresarial más reciente que aprovecha el lenguaje DAX (a través del modelo de datos de Power BI) y definitivamente es posible empezar a crear algunos informes sin aprender ningún DAX en absoluto. Si usted es un «consumidor de informes» que otras personas producen para usted, entonces ciertamente no necesita aprender ningún DAX. Sin embargo, si usted es alguien que quiere hacer su propio análisis adhoc (o estructurado) de datos mediante Power BI, entonces definitivamente querrá aprender a escribir un poco de DAX con el fin de obtener valor de lo que esta nueva herramienta tiene para ofrecer.

Medidas implícitas

Power BI ofrece lo que se denomina «Medidas implícitas». Todo lo que tiene que hacer es arrastrar una columna de números (por ejemplo, ExtendedAmount) y colocarla en la sección Valores de un Visual de Power BI, y la herramienta creará una buena agregación para usted sobre la marcha.

implicit measures

Y mientras eso sea todo lo que siempre quieres hacer, entonces estarás bien. Sin embargo, si desea crear una herramienta de informes más potente que extraiga información profunda de sus datos sin procesar, entonces definitivamente querrá comenzar su viaje para aprender DAX (más sobre esto en breve).

Medidas rápidas

Power BI tiene una característica denominada Medidas rápidas. Esta característica le permite crear medidas verdaderas mediante un asistente. Aunque esta característica puede ayudarle a empezar y escribir medidas verdaderas (no medidas implícitas como las que se escriben anteriormente), la desventaja es que todavía no está aprendiendo realmente acerca de cómo funciona Power BI Data Model bajo el capó. Me gusta esta característica sin embargo no creo que sea un sustituto de un aprendizaje más estructurado.

Agregar lógica de negocios en el modelo de datos mediante DAX

El lenguaje DAX se usa para agregar la lógica empresarial a la base de datos de Power BI (modelo de datos). Un ejemplo ayudará a aclarar. Es típico que los datos de un sistema de ventas contendrán los datos sin procesar (1 y 2), pero la base de datos puede no incluir (3 y 4).

  1. Precio de coste por la transacción
  2. Precio de venta por la transacción
  3. Margen para la transacción
  4. Porcentaje de margen para la transacción

Hay cierta «lógica de negocios» que se puede utilizar para tomar los datos sin procesar (1 y 2) y generar las cifras Margen y Margen% (3 y 4). La lógica de negocios es simple

  • Margen á [Precio de venta] – [Precio de coste]
  • Margen % á [Margen] / [Precio de venta]

El modelador de datos (la persona que trabaja con el modelo de datos de Power BI para crear un informe) usará el lenguaje DAX para convertir la «Lógica empresarial» en «Medidas» para que los usuarios del informe puedan acceder directamente a todas las características de informes necesarias para agregar valor.

En la imagen siguiente, las medidas que se muestran como 1 «podría» crearse como medidas implícitas sin aprender DAX, pero las medidas más útiles que se muestran como 2 a continuación requieren el lenguaje DAX.

image

DAX como lenguaje de consulta

Además de ser un lenguaje de modelado de datos, DAX también es un lenguaje de consulta. Hay algunas funciones DAX especiales que devuelven «tablas» de datos en lugar de valores escalares.

Acerca del autor