10 Funciones útiles de Expresiones de Análisis de datos (DAX) para principiantes de Power BI

Introducción

Hemos trabajado en muchas herramientas de arrastrar y soltar en nuestro viaje de inteligencia de negocios (BI). Pero ninguno se ha acercado a la naturaleza de la navaja suiza del Power BI de Microsoft. Realmente simplifica la tarea de calcular números, analizar datos y visualizar patrones.

Es una de las mejores herramientas de arrastrar y soltar de la industria. Elige un campo que desea analizar, colóquelo en el panel de control de Power BI y ¡listo! Los Insights están justo frente a ti.

Pero, ¿y si queremos profundizar en nuestro análisis? ¿Qué debemos hacer si queremos personalizar ciertas variables o generar nuevos? Solo arrastrar y soltar rápido no resolverá nuestro problema. Ahí es donde entra en juego el poder de las Expresiones de Análisis de datos (DAX) en Power BI.

Power BI DAX

Esta es una herramienta práctica para aprender para cualquier profesional de ciencia de datos, no solo para aspirantes a inteligencia empresarial. Nos ahorra un montón de tiempo que de otro modo estaríamos gastando en producir el código.

En este artículo, primero entenderemos qué es BI y el papel típico de un profesional de la industria de BI. A continuación, le presentaremos la poderosa herramienta Power BI de Microsoft y luego profundizaremos en diez funciones de expresiones de análisis de datos (DAX) realmente útiles que podemos usar en Power BI.

Índice

  • Introducción a la Inteligencia de Negocios (BI)
  • Papel de un Profesional de Inteligencia de Negocios
  • ¿Qué es Power BI?
  • Expresiones de análisis de datos (DAX): ¿Qué son y por qué se necesitan?
  • Implementación de funciones DAX en Power BI

Introducción a la Inteligencia de Negocios (BI)

La Inteligencia de negocios tiene un amplio alcance, pero podemos definirla como el proceso de seguimiento y revisión de las métricas de negocio.

Tomemos un ejemplo para entender esto.

Tenga en cuenta que estamos dirigiendo una empresa de transporte que entrega productos a nuestros clientes en diferentes partes del país. Como con cualquier negocio, queremos mejorar la experiencia de nuestros clientes. Hay varias métricas que podemos medir para medir la satisfacción del cliente, que incluyen:

  • La velocidad a la que se les entregó el producto
  • Si el producto estaba dañado o no
  • ¿Se entregó el producto correcto? sucesivamente.

Estos datos se procesan y se muestran en forma de informes lúcidos, lo que facilita llevar a casa los insights. Por lo tanto, si el gráfico de la tasa de entrega muestra una calificación más baja de lo esperado, podemos intentar encontrar la causa raíz y mejorar la velocidad de entrega.

El papel de un profesional de Inteligencia de Negocios

Ahora, ¿qué hace un profesional de inteligencia de negocios? Estoy seguro de que esto debe haber pasado por su mente mientras pasaba por el escenario anterior. A continuación se presentan algunas tareas comunes que una persona BI típica realiza:

  • Escribir consultas o conectores (SQL) para obtener datos de bases de datos relacionales/NoSQL
  • Escribir consultas (SQL) para procesar datos y calcular las métricas de negocio
  • Diseñar código para crear gráficos con widgets interactivos para visualizar las métricas de negocio
  • Crear paneles a partir de los gráficos e implementarlos para que los use el usuario final

El conjunto de habilidades necesarias para convertirse en un profesional de BI varía de un proyecto a otro. Pero, en términos generales, necesitará tener un conocimiento sólido de una herramienta de BI, como Tableau, PowerBI, Qlik, junto con algo de experiencia en un lenguaje de programación como Python, R o SQL. También se busca el conocimiento del dominio y el pensamiento estructurado.

Power BI es una de las herramientas de BI más populares y potentes que existen. Ese será nuestro enfoque en este artículo. Antes de llegar, aquí hay una maravillosa ilustración de una arquitectura de inteligencia de negocios típica:

Ejemplo de arquitectura de Inteligencia de Negocios

¿Qué es Power BI?

Power BI es una herramienta de inteligencia empresarial popular e increíblemente potente desarrollada por Microsoft. Tiene diferentes sabores y ofertas. La versión más básica es gratuita, pero tiene la capacidad de realizar ejercicios de inteligencia empresarial de tamaño mediano fácilmente.

En términos generales, Power BI es una suite de soluciones de análisis de negocios basada en la nube que proporciona las herramientas necesarias para convertir grandes volúmenes de datos en información accesible a través de silos. Se ha clasificado constantemente en el Cuadrante Mágico de BI de Gartner.

Power BI es popular por su versatilidad, interactividad, diseños estéticos, amplia conectividad con bases de datos y facilidad para crear paneles de bajo esfuerzo. También aprovecha el soporte de otras herramientas de su ecosistema de Microsoft: Azure, Cortana,SQL Server, Azure Active Directory, Azure Blob Storage, etc.

Aquí hay un par de cosas geniales que Power BI puede hacer:

  • Alertas y visualización en tiempo real para monitorear el estado de los equipos de fabricación. Esto se hace pasando datos de sensores de IoT a través de IoT Azure Hub, Azure Data Factory, Cognos DB y luego analizados en Power BI
  • Cree y obtenga gráficos e informes y paneles de Power BI dando instrucciones de voz con el asistente de voz de Windows Cortana

Expresiones de análisis de datos (DAX): ¿Qué son y por qué se necesitan?

Podemos leer datos en Power BI desde archivos CSV o desde una base de datos. También podemos combinar tablas en Power BI. Muy a menudo, los datos necesarios para el trazado están fácilmente disponibles en columnas de tabla (aunque no siempre es el caso).

Considere una situación en la que necesitamos modificar o cambiar los datos para mejorar nuestros paneles. Supongamos que esas modificaciones personalizadas que necesitamos no están fácilmente disponibles en Power BI. ¿Qué hacemos entonces? ¿Cómo podemos realizar este tipo de modificación y análisis de datos?

La respuesta es DAX (abreviatura de Expresiones de Análisis de datos). DAX se utiliza para traer información significativa oculta dentro de los datos sin procesar. En palabras simples, DAX se utiliza para la manipulación de datos.

Hay ciertas reglas que tenemos que seguir para usar DAX. Comprenderá estas reglas rápidamente si está familiarizado con las funciones de Excel. DAX es sólo una forma avanzada de eso.

Hay dos lugares donde escribimos DAX:

  • Columna calculada
  • Medida calculada

Veamos lo que representan ambos:

  • Las columnas calculadas son muy similares a las columnas regulares que vemos en la mayoría de los conjuntos de datos. La diferencia es que las columnas calculadas son el resultado de nuestros cálculos usando dos o más columnas o usando columnas de tablas diferentes. Se pueden usar cuando queremos realizar cálculos por filas
  • La medida calculada, por otro lado, es similar a una columna calculada. Sin embargo, no ocupan ninguna memoria física y sus resultados no se pueden ver en forma de columna. Usualmente usamos esto cuando queremos realizar cálculos dinámicos en un grupo de filas o agrupando datos

Implementación de funciones DAX en Power BI

Trabajaremos en algunos comandos DAX útiles y sus funciones en esta sección. Usaremos el conjunto de datos de la’ Super Tienda de muestra’. Puede descargar el conjunto de datos aquí y comenzar a experimentar por su cuenta también!

El conjunto de datos contiene tres tablas: ‘Pedidos’,’ Devoluciones ‘y’Usuarios’. Siga adelante y cargue el archivo Excel de muestra del conjunto de datos de Superstore en Power BI.

Abra Power BI y busque «Obtener datos» en la pestaña «Inicio». Seleccione Excel y, a continuación, busque el archivo de conjunto de datos presente en su máquina local. Cargue el archivo completo en su ventana de BI.

Ahora, ¡vamos!

LOOKUP ()

La función de BÚSQUEDA es bastante similar a Vlookup en Microsoft Excel.

La tercera tabla de nuestro conjunto de datos contiene los detalles de todos los administradores por región. Ahora aquí es donde la BÚSQUEDA viene en la mano. Podemos realizar una búsqueda de la columna ‘Manager’ en la tabla’ users ‘ contra la columna ‘Region’ correspondiente en la tabla ‘orders’.

Entonces, ¿cómo realizamos una búsqueda en Power BI? Hay dos cosas que necesitamos recordar:

  1. Necesitamos una columna común para realizar una búsqueda
  2. También necesitamos valores únicos en al menos una de las columnas coincidentes elegidas de dos tablas diferentes. La sintaxis básica para la búsqueda es:
LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

Poner esta sintaxis usando nuestras variables de conjunto de datos:

Manager = LOOKUPVALUE(Users,Users,Orders)

FILTER( ) & CALCULE( )

El DAX que se muestra a continuación es similar a la función agrupar por. Agrega dinámicamente una columna basada en el filtro. Esto es útil cuando estamos creando una tabla en paneles de Power BI y necesitamos filtrar solo una columna (mientras que la columna restante no se ve afectada por el filtro).

Este DAX es útil cuando cada columna utilizada en la tabla puede tener su propio filtro. Tomemos un ejemplo para entender cómo funciona esto.

Queremos calcular la suma de ventas por región. Primero, la función de filtro divide la columna de región en norte, sur, este y oeste. Luego, calcula la suma de ventas de acuerdo con la segregación. Estamos usando una medida aquí, ya que una región en particular puede tener cualquier número de filas involucradas dentro de ella.

Aquí, estamos declarando una variable reg que actúa como clave para el filtro. Podemos declarar una variable usando la palabra clave VAR. La palabra clave RETURN nos da el resultado del cálculo (suma de ventas, en nuestro ejemplo). El resultado que obtenemos del DAX calculado es:

Condición IF anidada

Considere la tabla orders en nuestro conjunto de datos. La columna «Prioridad de pedido» tiene cinco valores debajo de ella. Supongamos que necesitamos algunos valores enteros en lugar de los valores originales presentes en esa columna. La declaración IF anidada es nuestra amiga aquí:

Nested IF = IF(Orders ="Critical", 5, IF(Orders ="High", 4, IF(Orders = "Medium", 3, IF(Orders = "Low", 2, IF(Orders = "Not Specified", 1)))))

Formato condicional

El formato condicional es una de las características más utilizadas de Microsoft Excel. ¡Y también podemos aprovechar eso dentro de Power BI!

El formato condicional, para aquellos que no lo hayan usado antes, es la capacidad de cambiar el color de fuente de una columna en función de una condición de otra columna. Esto se puede hacer creando una nueva columna según nuestra condición y luego usando esa columna para establecer reglas en la pestaña formato condicional.

Probemos esto con un ejemplo de nuestro conjunto de datos de Superstore de muestra.

Queremos cambiar el color de los valores que se muestran en la columna «Prioridad de pedidos» de la tabla de pedidos. Por ejemplo, todos los valores «Críticos» deben estar en color rojo, todos los valores «Altos» deben estar en color verde, etc.

Podemos usar la columna IF anidada que creamos arriba, ya que las condiciones ya están especificadas. Establezca reglas en la pestaña formato condicional: si el valor de la columna creada anteriormente es 1, el color de fuente debe ser rojo Si el valor es 2, debe ser naranja, etc.

Aquí hay una imagen para mostrar cómo puedes hacerlo en Power BI:

Dividir una Cadena Basada en Delimitadores

Otra función de Excel común que podemos usar en Power BI:

customer_split_1 = PATHITEM(SUBSTITUTE(Orders," ","|"),1)

La función PATHITEM anterior devuelve la cadena resultante. La función SUSTITUIR reemplaza el delimitador especificado con un carácter particular y obtiene la palabra correspondiente en función del valor mencionado.

Por ejemplo, vamos a realizar una división en el campo «Nombre del cliente». Aquí, el espacio «»será el delimitador y lo hemos reemplazado con una canalización»/|. Solo necesitamos el nombre de un cliente, por lo que hemos especificado 1. Puede cambiar este valor y ver qué resultados obtiene.

Ahora vamos a realizar tres divisiones como esta y nombrarlas como customer_split_1, customer_split_2, customer_split_3 respectivamente.

Obtener una Letra en Particular de una Palabra

¿Y si quisiéramos extraer solo una letra en particular de una palabra? Suena complicado, pero en realidad es bastante fácil en Power BI:

customer_initial_1 = LEFT(Orders,1)

lo hicimos en una sola línea de código!

Digamos que el nombre de un cliente en particular es «Helen Stein» y la división se divide en dos partes. Usamos el DAX anterior para obtener la primera letra de la primera palabra dividida (Helen). La función IZQUIERDA devuelve el número de caracteres posicionándose al principio de la cadena. Si damos 2 en lugar de 1, el DAX anterior devolverá «He» en lugar de «H».

Concatenación de cadenas

A menudo nos encontramos en situaciones en las que necesitamos combinar dos palabras juntas. Para ver cómo funciona esto en Power BI, asumamos que tenemos múltiples iniciales en nuestros datos.

Necesitamos especificar solo las iniciales del cliente en la visualización en lugar de su nombre completo. Esto ayudará a mantener la mesa limpia y compacta:

customer_initials = CONCATENATE(Orders,CONCATENATE(Orders,Orders))

La función concatenar une cadenas. Aquí, hemos realizado una concatenación de tres columnas:

WEEKDAY()

La función WEEKDAY devuelve un número entero que nos da el día actual. Averigüemos el día en que se despacharon algunos pedidos:

weekday = WEEKDAY(Orders,2)

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

  • 1 – Comienza desde el domingo = 1 y termina el sábado = 7
  • 2 – Comienza a partir del lunes = 1 y termina el domingo = 7
  • 3 – Comienza a partir del lunes = 0 y termina el domingo = 6

División DE fechas

Hay momentos en los que necesitamos des-pivotar la fecha para ciertos proyectos. Estas son las buenas noticias: podemos hacer esto con la ayuda de DAX y el editor de consultas en Power BI.

Ahora, tenemos dos columnas: fecha de pedido y fecha de envío. Queremos eliminar de la lista las fechas que se encuentran entre los dos intervalos. Tomemos la fecha de pedido como 01-01-2015 y la fecha de envío como 03-01-2015. Dado que hay una diferencia de 3 días entre ellos, esta fila se enumerará tres veces.

Podemos hacer esto a través del editor de consultas en Power BI. Seleccione la opción ‘ Columna personalizada ‘en la pestaña’ Agregar columna’. La siguiente ventana aparece y podemos agregar un nombre de columna y usar la consulta DAX:

A continuación, busque la columna de FECHA en nuestro conjunto de datos. Haga clic en el cuadro pequeño dentro del encabezado de la columna de FECHA y seleccione la opción’ Expandir a nuevas filas’:

¿Observa cómo aparecen los valores en forma de números enteros? Ahora, haga clic con el botón derecho en la columna y cambie el tipo de datos al formato «Fecha»:

Agregaciones complejas Basadas en FECHA

Trabajar con datos de fecha es un desafío bastante complicado. Hay mucho más que solo dividir los diferentes días, meses, etc.

En esta sección, trabajaremos en un ejemplo de agregación compleja basada en fechas. Por ejemplo, ¿cuál es el número total de horas enumeradas para las próximas 2 semanas o las últimas 2 semanas?

Cambiaremos nuestro conjunto de datos para esta sección. Puede descargar el nuevo conjunto de datos, llamado ‘Weekcal’, de Forecast. Este conjunto de datos se basa en la asignación de tiempo del equipo y una herramienta de planificación llamada Float. Float nos ayuda a asignar tareas y calcular las horas estimadas para los miembros del equipo.

Hay una advertencia en Float que debemos tener en cuenta. Una semana siempre comienza a partir del lunes en la herramienta Float. Por ejemplo, si desea calcular las horas asignadas para la próxima semana a partir del jueves, encontrará las horas asignadas del lunes al viernes más reciente y no de este jueves al próximo jueves.

Ahora, el conjunto de datos contiene las siguientes características:

  • Día de inicio: Día de inicio de la tarea
  • Fecha de finalización: Día de finalización de la tarea
  • Horas / día: Número de horas dedicadas a la tarea por día
  • Nombre de la tarea: Nombre de la tarea

Supongamos que estamos interesados en encontrar el número de horas asignadas para la próxima semana. Podemos hacer esto usando la siguiente lógica:

FORECAST_1 WEEK = if (Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,Forecast1,DAY)+1 * Forecast1,IF(Forecast1 > TODAY()-(WEEKDAY(TODAY(),2)-1) ,0,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7 && Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1),DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),Forecast1,DAY)* Forecast1,IF(Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1 >=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY)* Forecast1,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)&& Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY) * Forecast1,BLANK())))))
  • La función TODAY() – (WEEKDAY(TODAY(), 2) – 1 devuelve el lunes de la semana actual
  • La función DATEDIFF devuelve la diferencia entre dos fechas

Consulte la tabla a continuación para ver las horas estimadas para cada tarea para la semana siguiente:

Notas finales

Power BI es una herramienta potente y fácil de usar para crear paneles rápidos con una variedad de fuentes de datos. Las consultas DAX se utilizan para asignar datos, crear nuevas variables y métricas de negocio y manipular datos. Este artículo ofrece una guía breve y rápida para comenzar su viaje DAX.

También deberías echar un vistazo a los Tutoriales oficiales de Microsoft para Power BI, ¡un gran recurso!

Esperamos que haya encontrado útil este artículo. Esperamos escuchar sus comentarios y sugerencias. ¡Feliz tablero de instrumentos,o deberíamos decir Feliz DAXing!

Acerca de los Autores

Kirthi Tej Yendloori

Kirthi Tej es analista de datos en Indium software. Tiene un año de experiencia en visualización de datos y está muy interesado en el aprendizaje automático. Le encanta viajar.

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.