Tema 7 Modelado de datos – Dax

Tema 7 Modelado de datos - Dax

Expresiones de análisis de datos (DAX) es un lenguaje de expresiones de fórmulas que se usa en Analysis Services, Power BI y Power Pivot en Excel.

Las fórmulas DAX abarcan funciones, operadores y valores para realizar cálculos avanzados y consultas en los datos de las tablas y columnas relacionadas de los modelos de datos tabulares.

Los DAX son expresiones que nos permiten realizar desde operaciones sencillas como sumas, divisiones, etc. Hasta más complejas operaciones y cálculos para múltiples proposociones.

OJO: No siempre será necesario utilizar este lenguaje, esto es debido a que Power BI en automatico nos genera operaciones, medidas(así las llama él). Las cuales son las siguientes:

Sistemas Gestion de Calidad

1. Medidas Implicitas: Solo con arrastrar un campo en visualizacion nos genera operaciones básicas, como la sumatoria de valores en nuestras tablas. Un ejemplo claro es lo que vimos de nuestras tablas del tema 6 donde veíamos como se sumaban el total del desglose de productos en nuestra tabla de Datos

1. Medidas Explicitas: Nosotros la generamos utilizando DAX.

Asimismo, para crear y trabajar DAX es muy importante diferenciar entre las funciones;
Nueva Columna y Nueva Medida

Por lo general, tanto calculated columns (Columna) como measures (Medida) se usan para realizar operaciones aritméticas sobre los datos que tenemos en nuestro modelo.
Un ejemplo sencillo puede ser el de una tabla de ventas donde queremos conocer el número de Productos restantes entre lo vendido y lo que había inicialmente:

Tema 7 Modelado de datos - Dax

DAX Nueva Columna

Tema 7 Modelado de datos - Dax

DAX Nueva Medida

Tema 7 Modelado de datos - Dax
Otro ejemplo donde comparamos estas dos funciones. En este caso veremos como funciona con un porcentaje de las ventas, es decir, una división entre ventas.
Queremos conocer el porcentajes de ventas entre lo vendido y lo que había inicialmente

Tema 7 Modelado de datos - Dax

DAX Nueva Columna

Tema 7 Modelado de datos - Dax

DAX Nueva Medida

Tema 7 Modelado de datos - Dax
Visto esta diferencia lo que se puede sacar en claro de estos ejemplos es que las Nuevas Medidas nos van a ayudar sobte todo con las operaciones o calculos matemáticos. Mientras que las Nuevas Columnas se utilizan, por lo general, para poner un valor general en una fila en base a condiciones o reglas en otros campos de la misma fila.

Vamos a venirnos a la vista Informe y seleccionamos una tabla desde la pestaña de visualizaciones. Marcamos los campos de País e Ingresos:

Tema 7 Modelado de datos - Dax
Al venirnos a la pestaña de Valores vamos a clicar en el triangulo al lado del valor de Ingresos que nos aparece en esta pestaña:

Tema 7 Modelado de datos - Dax
Nos vamos a la pestaña de Campos y desde ahi generamos una nueva medida, clic en los tres puntos del nombre Tabla de datos>Nueva medida

Tema 7 Modelado de datos - Dax
Este nuevo campo llamado medida es una medida explicita y que vamos a renombrarla desde el campo de texto superior que hay en la vista del informe.
Cambiamos su nombre por Total de ingresos = SUMTabla Datos´^[Ingresos])

Tema 7 Modelado de datos - Dax
Abrimos la vista de Datos y desde aquí podemos generar también medidas y columnas

Tema 7 Modelado de datos - Dax
Dentro de las opciones de las Herramientas de columnas Formato>Moneda $>€ y los decimales a cero

Tema 7 Modelado de datos - Dax

Quedarían de esta manera tanto la columna de Ingresos como la de Gastos

Al poner a cero los decimales le hemos dicho que estos no aparezcan. Y de esta manera acortamos el ancho de nuestra columna y redondea la cantidad.

Tema 7 Modelado de datos - Dax
Creamos una nueva columna desde el apartado de Herramientas de tabla Nueva Columna y luego la llamaremos Utilidad.
Haremos que esta columna haga el computo total de restar los Ingresos con los Gastos:

Utilidad = ‘

Tema 7 Modelado de datos - Dax
Cambiamos el formato a moneda, con el € y cero en decimales:

Tema 7 Modelado de datos - Dax
Ahora nos volvemos a la vista de Informe y vamos a seleccionar los campos de Ingresos, Gastos y Utilidad. Borramos el campo de Total Ingresos que hicimos anteriormente.
Desde la pestaña de Valores dentro de visualizaciones clicamos la X del campo Total Ingresos. Y despues añadir los campos que aparecen en la siguiente imagen:

Tema 7 Modelado de datos - Dax
Aquí podemos ver los valores de Ingresos Gastos y la diferencia entre estas dos primeras se ve en la columna Utilidades

Tema 7 Modelado de datos - Dax
Bien ahora abrimos la pestaña de datos de nuevo y vamos a añadir una nueva medida que nos mostrará para ver el margen de beneficios que tenemos en porcentajes

Tema 7 Modelado de datos - Dax
Le estamos diciendo que en esta nueva medida nos haga la división de la Utilidad que hemos creado anteriormente junto con la suma de los valores de la columna Ingresos nos dara el Margen.
Una vez escrito la operación DAX le damos a enter para que aplique esta función.
Ahora vamos a irnos a la pestaña de campos y borramos la columna de Ingresos Totales ya que las nuevas medidas no aparecen como nuevas columnas
Tema 7 Modelado de datos - Dax
Volvemos a la vista informe y desde la vista campos selecionamos la nueva medida margen para que se visualice en nuestra tabla quedando de esta manera:


Para que lo visualicemos como un porcentaje nos vamos a venir nuevamente a la vista Datos y seleccionando el margen cambiamos el formato a porcentaje

Tema 7 Modelado de datos - Dax

Una vez cambiado simplemente pulsamos enter y volvemos a la vista informe y así ya podemos ver el cambio a porcentajes en la nueva medida Margen:

Tema 7 Modelado de datos - Dax
Por último eliminamos el valor o columna gastos y añadimos las columnas Continentes y País:

Tema 7 Modelado de datos - DaxClicando en la x lo quitamos de nuestro informe.
Haremos una comprobación como se ven los valores si añadimos el dato Continentes

 

Una vez añadido este valor lo moveremos a la primera posición para que se vea en nuestra tabla como la primera columna. Y lo mismo con Pais que lo colocaremos justo despues de Continentes

 

Tema 7 Modelado de datos - DaxTema 7 Modelado de datos - Dax

Publicaciones Similares