5 funciones DAX para análisis de datos en Power Pivot

¿Qué son y para qué nos sirven?

Si nos encontráramos en una situación donde hace falta modificar o cambiar un modelo de datos para mejorar nuestras interfaces, y que dichas mejoras no se encuentran disponibles, pero aun necesitamos hacer estas modificaciones y hacer análisis de datos, ¿qué se haría entonces?

Colombia Simpson on Twitter: "- Profesor Cocoon, sin saber ...

Es ahí que recurrimos a las funciones DAX (Expresiones de Análisis de datos). DAX se usa para conseguir información importante que está escondida dentro del grueso de datos, por lo cual se dice que DAX es usado para manipulación de datos.

Si no recuerdas como activar Power Pivot para usar las DAX puedes revisar aquí.

Reglas para usar funciones DAX en Power Pivot.

Pero hay ciertas reglas a seguir para usar DAX, las cuales serán fáciles de entender si ya te has familiarizado con funciones de Excel. DAX se puede considerar como una forma avanzada de las funciones de Excel. Hay dos lugares donde podemos escribir DAX: columnas y medidas calculadas.

  •  Columnas calculadas: son muy similares a las columnas regulares que encontramos en la mayoría de los conjuntos de datos, con la diferencia de que las columnas calculadas son el resultado de nuestros cálculos mediante el uso de dos o más columnas o usando columnas de diferentes tablas. Estas pueden ser usadas cuando queremos desarrollar cálculos por filas.
  • Medidas calculadas: por otro lado, estas son similares a las columnas calculadas, aunque no ocupan memoria física y sus resultados no pueden ser vistos en la forma de una columna. Usualmente usamos estas medidas cuando queremos desarrollar cálculos dinámicos en un grupo de filas o bien agrupando datos juntos.

Implementando funciones DAX en Power Pivot

Ahora trabajaremos con unos cuantos comandos DAX útiles y exploraremos su funcionamiento. Para esta demostración usaremos un conjunto de datos que podremos descargar aquí y que nos servirá para empezar a experimentar.

Este conjunto de datos contiene tres tablas: «Órdenes», «Regresos» y «Usuarios». Para empezar, cargaremos este conjunto de datos que viene como un archivo de Excel dentro de Power Pivot, para lo cual seleccionaremos hoja por hoja y la convertiremos en tabla con CTRL+T.

Power Pivot 1

Para después ir al menú Power Pivot y agregarla al modelo de datos.

Power Pivot 2

Ahora, veamos las 10 formulas mas útiles.

1. LOOKUP()

El nombre nos recuerda a la función VLOOKUP en Excel, y es que ambas son bastantes similares. La tercera tabla en nuestro conjunto de datos contiene los detalles de todos los gerentes por región, y es donde LOOKUP nos será útil. Con ella podremos buscar por la columna «Manager» en la tabla de usuarios contra la «Región» correspondiente en la tabla «Órdenes».

Conexion Power Pivot

Y para hacer una búsqueda en Power Pivot tenemos que recordar dos cosas:

 *Necesitamos una columna común para poder hacer la búsqueda.  *También necesitaremos valores únicos en al menos una de las columnas igualas elegidas de las dos diferentes tablas.

La sintaxis básica para LOOKUP es la siguiente:

 LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

Que ajustando a las variables en nuestra base de datos quedaría como:

 Manager:= LOOKUPVALUE(Users[Manager],Users[Region],Orders[Region])
funcion DAX Lookup

2. Condicional NESTED IF

Ahora consideremos la tabla «Órdenes» en nuestra base de datos. La columna perteneciente a «Prioridad de Órden» tiene cinco valores, ahora asumamos que necesitamos algunos valores integrales en lugar de los valores originales presentados en dicha columna. El statement «Nested IF» es el que nos sacará de este apuro:

Nested IF:= IF(Orders[Order Priority] ="Critical", 5, IF(Orders[Order Priority] ="High", 4, IF(Orders[Order Priority] = "Medium", 3, IF(Orders[Order Priority] = "Low", 2, IF(Orders[Order Priority] = "Not Specified", 1)))))
funcion DAX IF

 3. Dividiendo una cadena basada en delimitadores

Esta es otra función común de Excel que podemos usar en Power Pivot:

customer_split_1:= PATHITEM(SUBSTITUTE(Orders[Customer Name]," ","|"),1)

La función «PATHITEM» de arriba regresa la cadena resultante. La función «SUBSTITUTE» reemplaza el delimitador especificado con un carácter particular y busca la palabra correspondiente basado en el valor mencionado.

funcion DAX PathItem

Por ejemplo, si vamos a hacer una división en el campo de «Nombre del Cliente», aquí el espacio » » será el delimitador y lo habremos reemplazado con una línea «|». Como solo necesitamos el primer nombre de un cliente, solo habremos especificado 1. Este valor se puede cambiar para experimentar con los resultados que se pueden obtener.

4. Líneas concatenadas

Bastante seguido nos encontramos en situaciones donde necesitamos combinar varias palabras en una sola.

Para entender cómo es que esto funciona en Power Pivot, imaginemos que tenemos múltiples iniciales en nuestros datos, entonces necesitaremos especificar solo las iniciales del cliente en la visualización en lugar del nombre completo. Este es el código que mantendrá la tabla ordenada y compacta:

customer_initials:= CONCATENATE(Ordenes[customer_initial_1],CONCATENATE(Ordenes[customer_initial_2],Ordenes[customer_initial_3]))

La función concatenada unirá las líneas como una sola. Siguiendo el ejemplo, habremos hecho una concatenación de tres columnas, tal y como se muestra aquí:

funcion DAX Concatenate

5. WEEKDAY()

La función «WEEKDAY» nos arroja un número integral dándonos la fecha del día de hoy. Con esto podremos averiguar el día cuando unas cuantas órdenes han sido despachadas:

 weekday:= WEEKDAY(Ordenes[Ship Date],2)

El número integral mostrado arriba especifica el día de inicio:

  • 1 – inicia desde el domingo = 1 y termina en sábado = 7
  • 2 – inicia desde el lunes = 1 y termina en domingo = 7
  • 3 – inicia desde el lunes = 0 y termina en domingo = 6
funcion DAX WeekDay

Si quisieras conocer mas funciones DAX puedes revisar el siguiente enlace oficial de Microsoft y si quieres ver que mas puedes hacer con Power Pivot te dejo mi ejemplo aquí.

Conectar bases para una sola tabla dinámica.

Cualquier duda nos leemos abajo.

5 funciones DAX para análisis de datos en Power Pivot
Scroll hacia arriba