Un título de gráfico

Optimizando el Análisis de Datos en Power BI Dominando DAX


Autor: Francisco Echeverri


En el mundo del análisis de datos con Power BI, dominar el lenguaje DAX (Data Analysis Expressions) es una habilidad indispensable. DAX permite la creación de medidas personalizadas, desde simples hasta avanzadas, la realización de cálculos complejos, la creación de tablas o columnas calculadas, y la extracción de información relevante y valiosa del conjunto de datos. ¿Por qué es importante dominar este lenguaje para nuestro análisis dentro de Power BI? En este artículo, exploraremos cómo DAX puede mejorar tus análisis en esta herramienta.


¿Qué es DAX y por qué es valioso?

DAX es un lenguaje de expresiones que utiliza funciones y operadores dentro de una fórmula para realizar consultas o cálculos dentro de nuestro modelo de datos, pudiendo retornar uno o varios valores. ¿En qué momento se vuelve importante el uso de DAX? Cuando creamos informes en Power BI Desktop, podemos realizar visualizaciones y reportes sin necesidad de utilizar DAX. Sin embargo, cuando nuestros informes requieren cálculos avanzados, como analizar el crecimiento en diferentes periodos o tendencias de productos en el mercado, el uso de estas fórmulas cobra sentido, ya que nos permiten aprovechar al máximo la información proporcionada por los datos.



Sintaxis y funciones básicas

La fórmula está compuesta por diferentes elementos, por ejemplo, la siguiente expresión

Venta total = SUM ( Fact [ Venta ] ) se compone de lo siguiente:

  • Venta total :  es el nombre que se le asigna a la medida.
  • = : es el signo del operador, que indica el inicio de la expresión o fórmula.
  • SUM : Es la función de DAX que permite sumar los números de la columna de una tabla.
  • () : Los paréntesis de las funciones pueden contener dependiendo de la función, uno o varios argumentos.
  • Fact: Es la tabla a la que hace referencia, y en la que se encuentra la columna numérica a sumar.
  • [Venta]: Hace referencia a la columna de la tabla “Fact” y se van a sumar todos los registros de esta columna.

Esta es una sintaxis sencilla para algunas funciones; para otras, se pueden agregar más argumentos y realizar expresiones más complejas de acuerdo con el objetivo del proyecto. Entre las funciones DAX se encuentran variedades como MAX, MIN, COUNT, AVERAGE, y muchas más. Es importante destacar que, dado que Power BI es una herramienta en constante actualización, no solo se actualiza la herramienta en sí, sino también las funciones del lenguaje DAX. Aunque no podemos abarcar todas estas funciones en este artículo, todas están disponibles directamente desde Microsoft.


Contextos de evaluación DAX

Es fundamental en DAX determinar el contexto en el que se va a evaluar una expresión en una fórmula, ya que se tienen dos tipos de contexto, los cuales son:

  • Contexto de Filtro:  En este contexto DAX aplica todos los filtros a los datos antes de realizar el cálculo, ya sea de segmentadores, de las relaciones del modelo o de las mismas condiciones de la medida, este contexto permite manipular mediante las expresiones los valores que usa la fórmula.
  • Contexto de Fila: Este contexto evalúa la expresión para cada fila de una tabla. Significa que los cálculos se realizan de manera independiente para cada fila usando los registros de esa fila para el cálculo.

Ejemplo:


| Producto | Color  | Precio    | Cantidad | Contexto Filtro | Contexto Fila |
|----------|--------|-----------|----------|-----------------|---------------|
| Camisas  | Rojo   | \$90.000  | 2        | \$180.000       | \$180.000     |
| Camisas  | Verde  | \$85.000  | 3        | \$255.000       | \$255.000     |
| Jean     | Azul   | \$120.000 | 1        | \$120.000       | \$120.000     |
| Jean     | Negro  | \$150.000 | 4        | \$600.000       | \$600.000     |
| Gorras   | Rojo   | \$35.000  | 1        | \$35.000        | \$35.000      |
| Gorras   | Blanca | \$45.000  | 5        | \$225.000       | \$225.000     |
| | Total  | $525.000  | 16     | \$8.400.000    | \$1.415.000   |

En este ejemplo podemos ver la diferencia entre el contexto de filtro y el de fila, en el de filtro el multiplica los valores de precio por la cantidad, pero al final con el total hace lo mismo, multiplica el precio total (525.000) por la cantidad (16), que en ese contexto es un error, en cambio con el contexto de fila, si realiza la operación para cada fila de manera independiente y al final suma ese total.

Optimizando el Rendimiento con DAX

El uso de DAX en Power BI ofrece una serie de ventajas clave que pueden optimizar significativamente el proceso de análisis de datos. El motor VertiPaq, impulsado por algoritmos de compresión y un procesador de consultas multiproceso, proporciona un acceso rápido y eficiente a los objetos y datos del modelo tabular en Power BI. Este motor convierte el contenido del origen de datos en una estructura de columnas VertiPaq interna, optimizada con diccionarios e índices para cada columna, facilitando así la manipulación y el procesamiento de los datos.


Además, herramientas como DAX Studio permiten no solo la ejecución de consultas DAX, sino también la revisión y optimización del modelo de datos, así como la escritura de fórmulas y consultas complejas. Estas capacidades son fundamentales para mejorar el rendimiento y la eficiencia de las consultas DAX, ya que permiten identificar y corregir posibles cuellos de botella en el proceso de cálculo. En conjunto, el uso de DAX y herramientas como DAX Studio ofrece un enfoque integral para optimizar el análisis de datos en Power BI, lo que se traduce en informes más rápidos, precisos y eficientes para los usuarios finales.

En resumen,

Comprender y utilizar adecuadamente las funciones de DAX en Power BI puede enriquecer los informes de manera efectiva y eficiente. Con un conocimiento sólido de las funciones y técnicas avanzadas de DAX, puedes crear análisis más detallados, obtener información más precisa y tomar decisiones más informadas. ¡No subestimes el poder de DAX en tus informes de Power BI!

¿Qué te pareció? ¡Comparte tu opinión ahora!