A menudo cuando analizamos datos en Power BI, requerimos resumirlos o derivar campos adicionales a los que ya tenemos para responder alguna pregunta de negocio.
Por ejemplo, tal vez queremos conocer el total de ventas que tuvo un determinado negocio en un periodo determinado, para lo cual es necesario sumar las ventas individuales para ese periodo. Luego quizás partiendo de ahí necesitamos obtener información relevante como lo son la utilidad y el margen de beneficio.
Cualquiera que sea el caso, si se requiere realizar algún cálculo durante nuestro análisis, Power BI tiene la herramienta perfecta para el trabajo: las expresiones DAX.
A continuación, veremos en más detalle que es DAX y para qué sirve, así como sus elementos y funcionalidades principales.
👇🏻👇🏻👇🏻
¿Qué es DAX?
Las expresiones DAX, que por sus siglas en ingles significa Expresiones de Análisis de Datos, son un lenguaje de fórmulas utilizado, como indica el nombre, para analizar datos en herramientas como Power BI y Power Pivot. Podemos entenderlo rápidamente como el equivalente de Power BI a las fórmulas de Excel.
¿Para qué sirve?
DAX utiliza funciones, operadores, y otros valores para permitirnos realizar, entre otras:
- Operaciones aritméticas sencillas tales como sumas, divisiones, etc.
- Operaciones más complejas para agregar, filtrar y modelar datos
- Cálculos multipropósitos
- Medidas, tablas y columnas calculadas
Características Clave
Columnas calculadas
Al crear una columna calculada con DAX, se agrega una nueva columna a una tabla existente. Los valores de dicha columna son el resultado de la fórmula en la expresión. De esta manera, la fórmula se evalúa una vez para cada fila, tomando en cuenta los valores de campo para cada fila por separado. Estas columnas son útiles para realizar transformaciones básicas, crear categorías, etc.
Tablas calculadas
A través de fórmulas DAX podemos crear tablas nuevas, derivadas de otras tablas, que nos permitan realizar análisis más profundos y con más detalle. Estas tablas calculadas son útiles para generar subconjuntos de datos, ya que se generan a partir de columnas existentes y calculadas. Así, las tablas calculadas ofrecen gran flexibilidad y opciones de personalización para cubrir nuestras necesidades de análisis.
Medidas
Las medidas DAX son cálculos dinámicos, expresados mediante fórmulas, utilizados para distintos propósitos. Estos cálculos resultan en campos adicionales que se agregan al modelo para utilizarse en visualizaciones. Además, sus resultados cambian bajo los diferentes tipos de contexto, los cuales veremos más adelante en este artículo. Por ejemplo, una medida puede dar como resultado un solo valor o varios, ya sea uno por cada fila (contexto de fila) o por cada categoría (contexto de consulta).
Entre los usos más comunes se encuentran el resumir datos con funciones de agregación, como lo es sumar o promediar datos de una columna o agrupación; realizar operaciones entre campos, tales como multiplicación y división; filtrar datos mediante argumentos de función; gestionar elementos del modelo de datos, etc.
Existen dos tipos principales de medidas, cuyas características son las siguientes:
Medidas implícitas
- Se generan al arrastrar campos a visualizaciones.
- Su función (de agregación) se determina automáticamente en base al tipo de datos del campo y puede ser editada en las opciones de medida.
- Son exclusivas a la visualización para la cual se crean.
Medidas explícitas
- Son creadas por el usuario con fórmulas DAX.
- Permite realizar cálculos personalizados y complejos para múltiples propósitos.
- Se pueden utilizar en varias visualizaciones.
Funciones
DAX, siendo un lenguaje de fórmulas, tiene muchas ya predefinidas, las cuales denominamos funciones. Estas funciones siguen una estructura ordenada, conocida como sintaxis, la cual define los argumentos, o valores, con los que se realizará un cálculo, o los campos a los cuales se les aplicará una transformación.
Entre los tipos de funciones destacan:
- De agregación: SUM(), AVERAGE(), MAX(), MIN()
- De conteo: COUNT(), COUNTA(), DISTINCTCOUNT()
- De texto: CONCATENATE(), LEFT(), RIGHT(), TRIM()
- De fecha: CALENDAR(), YEAR(), MONTH(), DATE()
- De filtro: CALCULATE(), FILTER(), ALL()
- Lógicas: IF(), AND(), OR(), NOT()
Nótese que todas las funciones DAX de momento se encuentran disponibles solo en inglés.
Contexto
Un elemento importante que conocer para mejor entender DAX es el contexto. Esta es una característica que nos permite realizar análisis dinámicos, es decir, análisis que cambian en función a los datos seleccionados, tal como en el caso de medidas. Los resultados de las fórmulas escritas con DAX cambian para reflejar las filas o celdas seleccionadas, así como todos los datos relacionados en el modelo de datos.
Existen tres tipos principales de contexto:
Contexto de fila: hace referencia los datos de la fila actual. Las expresiones formuladas bajo este contexto toman en cuenta los valores de todos los campos (columnas) para cada fila individualmente. Se usa principalmente para agregar columnas calculadas.
Contexto de consulta: hace referencia al subconjunto de datos correspondiente a una columna, agrupación o categoría, que resultan de evaluar una expresión. Se utiliza mayormente en medidas, y se controla dentro de una visualización mediante el uso de encabezados, segmentadores, y filtros del gráfico.
Contexto de filtro: hace referencia al conjunto de valores permitidos en una tabla o columna. Este contexto primero restringe los datos que pueden mostrarse en una tabla o columna, y después realiza los cálculos en una expresión utilizando solo los datos admisibles. Debido a su funcionamiento, el contexto de filtro se aplica por encima del demás contexto y se gestiona a través de argumentos de fórmula y filtros de fila o columna.
Ahora que ya conoces DAX, ¡es hora de hacer tus propios cálculos!
Aprende más en nuestro curso datdata.com/introduccion.