Casos de uso y modelo de datos con DAX

1

¿Cuándo utilizar DAX en Power BI?

2

Modelo de datos del proyecto de ventas de vehículos

3

¿Cómo afecta la dirección de filtro en Power BI?

Quiz: Casos de uso y modelo de datos con DAX

Creación de tablas y columnas con DAX

4

Columna calculada

5

Tablas calculadas

Quiz: Creación de tablas y columnas con DAX

Medidas

6

¿Cuándo crear una medida con DAX?

7

¿Cuáles son las principales funciones de agregación de DAX?

8

Manipulación de texto con DAX

9

Funciones lógicas y condicionales: IF, AND, OR

10

Funciones lógicas y condicionales anidadas: IF, SWITCH

11

Funciones lógicas y condicionales: HASONEVALUE

12

Funciones lógicas y condicionales: SELECTEDVALUE

13

Filtrado de datos con FILTER y SEARCH

Quiz: Medidas

CALCULATE

14

Uso de CALCULATE en Power BI

15

CALCULATE con ALL y ALLEXCEPT

Quiz: CALCULATE

Manejo de Iteradores y contextos

16

Iteradores X: cálculos por fila

17

Clasificación y ordenamiento de datos con RANKX y TOP

18

Evaluación de contextos con CALCULATE

Quiz: Manejo de Iteradores y contextos

Funciones de inteligencia de tiempo

19

Análisis de fechas y tiempo con DAX

20

Análisis de crecimiento acumulado en el tiempo con DAX

Quiz: Funciones de inteligencia de tiempo

Optimización de modelos y escritura de código DAX

21

Uso de variables para optimizar fórmulas en DAX

22

Mejorar legibilidad de código con DAX Formatter

23

Evaluación de modelo de datos con DAX Studio

24

Mantenimiento de modelos de datos con Tabular Editor

25

¿Cómo escribir código DAX con ChatGPT?

26

AI Visuals para interpretar el modelo de datos

Integración de medidas en reporte de Power BI

27

Reporte con medidas de seguimiento comercial en Power BI

28

Integración de visualizaciones de productos de mayor venta y ganancia

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
21 Hrs
18 Min
4 Seg

Tablas calculadas

5/28
Recursos

Aportes 59

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Nos recupera el numero del dia de la semana y el valor 1 significa que queremos que empiece de domingo a sabado nuestra numeracion.

Para dar formato a nombre del día

En caso que aparezcan los dias o los meses en Ingles, podemos añadirle un argumento a la instruccion `FORMAT()` , donde `"es-ES"` sera para que el resultado sea en español. ```js dia_semana = FORMAT(tabla_calendario[date], "DDDD", "es-ES") ```
Otra forma de crear las columnas de año y mes es llamando la columna "date" y seleccionando alguna de las opciones que salen posterior al punto (como el .\[Año] .\[Mes])

Clase 5.
Tablas Calculadas.
En Power BI:
• Vamos a la sección vista de datos.
• Seleccionamos la tabla con la información que requiramos.
• Buscamos en la barra superior “Herramientas de Tablas.”
• Damos click en la opción “Nueva Tabla”.

Función CALENDARAUTO ()
Es una agregación de DAX, que permite generar una columna de fecha a partir de la fecha mínima y máxima que encuentre dentro de nuestro modelo de datos.
Ejemplo:
DIM_FECHAS = CALENDARAUTO (“01/01/2015”, “31/12/2017”)

ORDENAR DATOS DE COLUMNAS.
• Seleccionamos la columna dentro de la tabla.
• Vamos a “ORDENAR COLUMNA”
• Seleccionamos el orden que queremos darle.

¿Cuánto utilizar una tabla calculada?
• Usualmente para crear una tabla calendario.
• Como artificio para generar una tabla adicional de datos.

Tabla de tiempo.
• Requisito para generar TIME INTELLIGENCE.
• Evita vacíos de información a nivel de tiempo.
• Ventajas de mayor análisis.

Sería interesante tener un curso de Power Query con lenguaje M

Para hacerlo mas dinamico al tener la fecha con formato numero cree en la Fact_Ventas la columna fecha con la formula

format(date(int(Fact_Ventas[datekey]/10000),mod(int(Fact_Ventas[datekey]/100),100),mod(Fact_Ventas[datekey],100)))

y la column calendar de la nueva tabla la hice dinamica en base a la fecha minima y maxima con la formula

CALENDAR(min(Fact_Ventas[fecha]),max(Fact_Ventas[fecha]))

![](https://static.platzi.com/media/user_upload/image-25babf76-73e4-4f56-b398-fc18353be913.jpg) Calculando si es fin de semana o entre semana
La solución al reto sería: Dia = FORMAT(Dim\_Fechas\[Date], "dddd")
porqué fecha key y no solamente relacionar columna date?
Si quieren el numero del dia es asi: Numero Dia = DAY(Dim\_Fechas\[Date]) Si quieren el nombre del dia es asi: Dia = FORMAT(Dim\_Fechas\[Date], "dddd") Es al misma estructura que con el mes. Saludos..
Agregue la columna con numero de dia y nombre de dia de la semana ![](https://static.platzi.com/media/user_upload/image-63b5f8a7-6895-4037-a268-003f6ac7aedd.jpg)
![](https://static.platzi.com/media/user_upload/image-d195a0ef-1275-4aa6-a225-1fa9400f2a69.jpg)

Recuerden que deben agregar el 2 al final de la variable para que traiga los días de la semana, empezando el lunes como día 1. Por ejemplo:
Lunes = 1,
Martes = 2,
Miércoles = 3.

Day number = WEEKDAY(Dim_Fechas[Date],2)
```txt Tabla Calendario Completa = ADDCOLUMNS( CALENDARAUTO(), "Año", YEAR([Date]), "Mes_Num", MONTH([Date]), "Mes", VAR x = FORMAT([Date],"Mmmm") VAR y =UPPER( LEFT(x,1)) VAR z = MID(x,2,LEN(x)) RETURN y & z, "Trimestre", "Q"& QUARTER([Date]), "Semestre",IF(MONTH([Date])<=6,"Sem 1","Sem 2"), "Semana", WEEKNUM([Date],2), "Dia mes",DAY([Date]), "Dia Semana",WEEKDAY([Date],2), "Nombre Día",FORMAT([Date],"Dddd")) ```Tabla Calendario Completa = ADDCOLUMNS( CALENDARAUTO(), "Año", YEAR(\[Date]), "Mes\_Num", MONTH(\[Date]), "Mes", VAR x = FORMAT(\[Date],"Mmmm") VAR y =UPPER( LEFT(x,1)) VAR z = MID(x,2,LEN(x)) RETURN y & z, "Trimestre", "Q"& QUARTER(\[Date]), "Semestre",IF(MONTH(\[Date])<=6,"Sem 1","Sem 2"), "Semana", WEEKNUM(\[Date],2), "Dia mes",DAY(\[Date]), "Dia Semana",WEEKDAY(\[Date],2), "Nombre Día",FORMAT(\[Date],"Dddd")) // Les dejo una tabla calendario en dax
Para resolver el reto creamos una columna en la tabla Dim\_Fechas llamada Día: Dia = WEEKDAY(Dim\_Fechas\[Date]) Luego crearemos otra columna donde sera el DiaNombre de la semana : 1 Forma : DiaNombre2 = FORMAT(Dim\_Fechas\[Date],"dddd") 2 Forma: DiaNombre = SWITCH(    Dim\_Fechas\[Dia],    1, "Domingo",    2, "Lunes",    3, "Martes",    4, "Miércoles",    5, "Jueves",    6, "Viernes",    7, "Sábado") y este es el resultado; ![](https://static.platzi.com/media/user_upload/image-57892e82-b6c9-4a21-8382-81938b095d89.jpg)
Por qué es importante tener una tabla calculada de calendario si ya tengo tablas de fechas? Esas tablas también me muestra años, cuartos, meses, días. No entiendo muy bien por qué crear otra tabla
![](https://static.platzi.com/media/user_upload/image-8d903a1e-6ddb-4423-b9c4-7282dd99de8b.jpg)Asi resolvi el reto!
Esta es mi fórmula utilizada al crear una nueva columna: `Dia de la semana = Format(WEEKDAY(Dim_Fechas[Date]),"dddd")`
dia_semana = FORMAT(tabla_calendario[date], "DDDD", "es-ES")
![](https://static.platzi.com/media/user_upload/image-c43af177-68ad-45cd-89c4-da8cd82f8230.jpg)
```txt Calendar = ADDCOLUMNS ( CALENDAR (DATE (2015, 1, 1), DATE (2017, 12, 31)), "Year", YEAR([Date]), "Month", MONTH([Date]), "Day", DAY([Date]) ) ```También se puede generar toda la tabla en un sólo bloque de código.
Hola buenas tardes en la tabla de Dim\_Calendario no entiendo muy bien que significa en esta tabla datekey. me pueden ayudar con esto ? gracias
![]()Adjunto imagen de mi toc por abrir el calendario y comprobar que los días coincidan 😂 ![](https://static.platzi.com/media/user_upload/image-1345c834-b33e-4b35-8e35-cb6a6e6e1113.jpg)
Agregué el numero de dia, adcional el formato para que me entregara el nombre del dia. ![](https://static.platzi.com/media/user_upload/image-95f39cd6-5cc6-4d60-b568-41a44bfb8429.jpg)
Ese tema de la fecha es un horror en futuros paneles q hagas, siempre tenlo presente.
En Power Query tambien se puede generar una tabla calendario, veía en el video que indicabas que es más eficiente la power query. Podrías darnos un poco más de detalle o ayuda?
Implemente el siguiente código DAX y me funciono correctamente: Día = FORMAT(Dim\_Fechas\[Date], "dddd")
Dia Semana = format(Dim\_Fechas\[Date],"dddd")
Buen dia comunidad, tengo un pregunta. Hice bien la relación entre dim\_calendar y fact\_ventas de uno a muchos por medio de la columna date\_key pero al graficar en una tabla tengo un campo en blanco. Como podría solucionarlo? Gracias![](https://static.platzi.com/media/user_upload/image-3782d288-8c5b-4112-91df-5c782ba68887.jpg)
Cuál es la diferencia entre colocar o no "value" para los ejemplos mostrados en mes y datakey respectivamente? en mi caso arrojó el mismo resultado.![](https://static.platzi.com/media/user_upload/image-1839911e-cabd-4d10-9ad2-b1f606337300.jpg)![](https://static.platzi.com/media/user_upload/image-bb520031-f799-4b06-b575-dd5d33e39aec.jpg)

Dia = Dim_fechas[Date].[Día]

Res. Reto : Dia = DAY(Dim\_Fechas\[Date])
reto realizado: ![](https://static.platzi.com/media/user_upload/image-6ff75c56-c959-4f09-8664-62f5f99184ae.jpg)


Por qué miércoles y jueves se ve casi junto?

Para traer el Número de la semana he utilizado la siguiente formula o expresión Numero\_Semana = WEEKNUM(Dim\_Fechas\[Date]) ![](https://static.platzi.com/media/user_upload/image-0f3810b0-6e68-4126-affa-551c51f0a1be.jpg)
Al momento de crear la grafica apilada en el eje y todo me sale el mismo monto mas sin embargo no me sale de la misma manera que en el video
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202023-12-01%20163756-2125f2cf-0e77-41e8-b040-53962c45e52a.jpg)
![](https://static.platzi.com/media/user_upload/image-2fe64215-25b1-431b-b1ed-82e264fa3cc3.jpg)

Numero de dias de la semana = WEEKDAY(Dim_Fechas[Date],1)

![](https://static.platzi.com/media/user_upload/image-e0992c4a-eee3-4dc7-bf6e-0c1198ace5a5.jpg)
![](https://static.platzi.com/media/user_upload/image-2e03bd01-97e6-4a48-833e-4f4a003e2e06.jpg)
Yo reolsví el reto así: `Dia = FORMAT(dim_fechas[Date], "dddd")` `Dia Semana = WEEKDAY(dim_fechas[Date])`
![](https://static.platzi.com/media/user_upload/image-af433940-4067-4513-900e-b30a0abb2a26.jpg)
Es bastante interesante como atraves del BI podemos generar información rápida que agrega gran valor

que gran clase!

Se me ocurrió que otra forma para crear la columna de mes era con la formula: **Mes= MONTH( Dim\_Fechas\[Date]**, y luego a esto cambiarle el tipo de dato a fecha y el formato. Sin embargo, el formato "mmmm" no está disponible para tipo de dato fecha. Ahora entiendo el porqué Renzo trabajó con la formula de formato y tipo de dato texto. ![](https://static.platzi.com/media/user_upload/image-7cf770f5-7710-4866-b6fb-5e00b90a73d0.jpg)

Para el reto Dia de la semana = FORMAT(Dim_Fechas[Date],“dddd”)

Dia de la Semana = FORMAT(Dim_Fechas[Date], “dddd”)

Numero de Dia = WEEKDAY(Dim_Fechas[Date])

Numero dia = WEEKDAY(dim\_fechas\[Date],2) DIA = FORMAT(dim\_fechas\[Date],"dddd")
![](https://static.platzi.com/media/user_upload/image-92fbfeaa-bf1a-4090-831b-ab660ec6b853.jpg)
Reto logrado: `Dia de la semana = FORMAT(Dim_fecha[Date], "dddd")` ![](https://static.platzi.com/media/user_upload/image-9e3340bc-80ca-4f38-8c5c-41ef09155d10.jpg)
Si no creas el campo daykey y conectas directamente date a datekey, podrías perder la capacidad de relacionar las tablas de manera eficiente. El daykey asegura que la relación sea única y permite un análisis adecuado, especialmente en operaciones de Time Intelligence.
Por que en mi tabla de fechas no me sale configurado la columnda DATE con el icono de calendario: ![](https://static.platzi.com/media/user_upload/image-3ec996c0-062a-4228-98a5-c779f024ec16.jpg) Deberia de salir como en la calse:![](https://static.platzi.com/media/user_upload/image-f083e774-3aeb-4fd2-93b9-1d2cf482f72f.jpg)
El reto me salió con: Dia = FORMAT(Dim\_Fechas\[Date],"dddd") Después de un par de intentos :)