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

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
0 Hrs
5 Min
49 Seg

Funciones lógicas y condicionales anidadas: IF, SWITCH

10/28
Recursos

Aportes 19

Preguntas 3

Ordenar por:

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

Yo lo hice acompañado de un true para simplificarlo un poco.

Siempre supe que el curso de programación Basica me sería útil algún día 😁. Al principio, Power BI me intimidaba, pero con cada clase, me fascina más y más.

Model_Classification using Switch = 
SWITCH (
    TRUE(),
    Fotos_Vehiculos[Precio] <= 2500, "Economic Model 💰",
    Fotos_Vehiculos[Precio] <= 38000, "Medium Model 🚗",
    Fotos_Vehiculos[Precio] <= 45000, "Premium Model 🏎️",
    "VIP Model 💎" 
)
Quería compartir con ustedes una herramienta que considero muy útil. Esta herramienta puede ayudarnos a limpiar y mejorar la estructura de nuestro código en DAX. Aunque no corrige errores automáticamente, sí nos permite optimizar la escritura de nuestro código. ¡Espero que les sea de ayuda <https://www.daxformatter.com/>
Hola, acabao de ver que hay un error en la fórmula de los if anidados, ya que hay modelos de menos de 25.000 que aparecen como "Modelo de Precio Medio" ![](https://static.platzi.com/media/user_upload/image-c5698491-07eb-4fee-8028-a708f7217b46.jpg) La forma correcta sería de la siguiente manera. ![](https://static.platzi.com/media/user_upload/image-f92751dc-061c-448e-9141-07e33b105fee.jpg) Un saludo.
DAX ya tiene una fórmula para el Quarter o Trimestre. ```txt Trimestre = "Trimestre" & QUARTER(your_table[Date]) ```

Para los que sean flojos como yo y no les guste escribir código, esta función les va a caer bien

trimestre_2 = 
"Q" & CEILING((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3, 1)

Paso 1: Ajustar el número del mes

(MOD(Dim_Fechas[Month number] - 1, 12) + 1) 
  • Ajusta el número del mes para ciclar correctamente.

  • Restamos 1 antes de aplicar la función MOD, y luego sumamos 1 de nuevo, asegurando que enero sea el mes 1, febrero el mes 2, y así sucesivamente hasta diciembre como el mes 12.

Paso 2: Agrupar los meses en trimestres

((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3)
  • Divide el número del mes ajustado entre 3, agrupando los meses en trimestres.

Paso 3: Redondear el resultado

CEILING((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3, 1)
  • Redondea el resultado al número entero más cercano, asegurando que cada mes se asigna al trimestre correcto.

Paso 4: Construir la cadena del trimestre

"Q" & CEILING((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3, 1)
  • Construye la cadena del trimestre, como “Q1”, “Q2”, etc., para cada mes.

Resumen de la clase
IF ANIDADAS

Clasificación modelo =
IF(Fotos_Vehiculos[Precio] <= 2500, “Modelo Económico”,
IF(Fotos_Vehiculos[Precio] <= 38000, “Modelo de Precio Medio”,
IF(Fotos_Vehiculos[Precio] <= 45000, “Modelo de Precio Alto”, “Modelo VIP”
)))

SWITCH

Trimestre = SWITCH(‘Dim fecha’[Mes],
1, “Trimestre 1”,
2, “Trimestre 1”,
3, “Trimestre 1”,
4, “Trimestre 2”,
5, “Trimestre 2”,
6, “Trimestre 2”,
7, “Trimestre 3”,
8, “Trimestre 3”,
9, “Trimestre 3”,
10, “Trimestre 4”,
11, “Trimestre 4”,
12, “Trimestre 4”)

Hola! Me pueden indicar que función cumple el "TRUE" el la formula SWITCH Gracias
Para calcular el trimestre. Trimestre = (    IF(Dim\_Fechas\[Numero Mes] >=1 && Dim\_Fechas\[Numero Mes]<= 3, "Trimestre 1",    IF(Dim\_Fechas\[Numero Mes] >=4 && Dim\_Fechas\[Numero Mes]<= 6, "Trimestre 2",    IF(Dim\_Fechas\[Numero Mes] >=7 && Dim\_Fechas\[Numero Mes]<= 9, "Trimestre 3",    "Trimestre 4"))))
Mejorar tu código de trimestre dax: Trimestre = SWITCH(    TRUE(),    Dim\_fechas\[Numero de mes] IN {1, 2, 3}, "Trimestre1",    Dim\_fechas\[Numero de mes] IN {4, 5, 6}, "Trimestre2",    Dim\_fechas\[Numero de mes] IN {7, 8, 9}, "Trimestre3",    Dim\_fechas\[Numero de mes] IN {10, 11, 12}, "Trimestre4"  )
Este es un SWITCH que determina el tipo de carro basado en su rango de precio: Clasificacion 2 = SWITCH( TRUE(), Fotos\_Vehiculos\[Precio] <= 20000, "GOOD", Fotos\_Vehiculos\[Precio] > 20000 && Fotos\_Vehiculos\[Precio] <= 30000, "MORE FEATURES",Fotos\_Vehiculos\[Precio] > 30000 && Fotos\_Vehiculos\[Precio] <= 45000, "VIP",Fotos\_Vehiculos\[Precio] > 30000 && Fotos\_Vehiculos\[Precio] > 45000, "LUXURY") Espero ayude.

Genial…!

```js // Un poco mas personalizada la formula, evitando valores null Clas_Mod = VAR condicional = IF( Fotos_Vehiculos[Precio] <= 25000,"Modelo Economico", IF( Fotos_Vehiculos[Precio] <= 38000 && Fotos_Vehiculos[Precio] > 2500 ,"Modelo de Precio Medio", IF( Fotos_Vehiculos[Precio] > 38000 ,"Modelo de Precio Alto") ) ) RETURN UPPER(condicional) ```Clas\_Mod =     VAR condicional = IF( Fotos\_Vehiculos\[Precio] <= 25000,"Modelo Economico",        IF( Fotos\_Vehiculos\[Precio] <= 38000 && Fotos\_Vehiculos\[Precio] > 2500 ,"Modelo de Precio Medio",                 IF( Fotos\_Vehiculos\[Precio] > 38000 ,"Modelo de Precio Alto")         )        )RETURN UPPER(condicional)
Tritmestre = SWITCH(Dim\_fechas\[Numero Mes], 1, "Trismestre 1", 2, "Trismestre 1", 3, "Trismestre 1", 4, "Trismestre 2", 5, "Trismestre 2", 6, "Trismestre 2",   7, "Trismestre 3", 8, "Trismestre 3", 9, "Trismestre 3", 10, "Trismestre 4", 11, "Trismestre 4", 12, "Trismestre 4")

Trimestre = SWITCH(Dim_Fechas[Numero Mes],
1, “Trimestre 1”,
2, “Trimestre 1”,
3, “Trimestre 1”,
4, “Trimestre 2”,
5, “Trimestre 2”,
6, “Trimestre 2”,
7, “Trimestre 3”,
8, “Trimestre 3”,
9, “Trimestre 3”,
10, “Trimestre 4”,
11, “Trimestre 4”,
12, “Trimestre 4”)

IF:Comprueba una condición y devuelve un valor cuando es “true”; en caso contrario, devuelve un segundo valor.

Sintaxis IF(<logical_test>, <value_if_true>[, <value_if_false>])

SWITCH:Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles. Esta función se puede usar para evitar tener varias instrucciones IF anidadas.

Sintaxis:SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Tutoria de SWITCH
SWITCH

  • Funciones logicas y condicionales anidadas: IF, SWITCH

    • IF
      Clasificacion Modelo =
      IF(Fotos_Vehiculos[Precio] <= 25000 , “Modelo Económico”,
      IF(Fotos_Vehiculos[Precio]<=38000, “Modelo de Precio Medio”,
      IF(Fotos_Vehiculos[Precio]<= 45000, “Modelo de Precio Alto”,“Modelo VIP”)))

    • SWITCH
      Trimestre = SWITCH(Dim_Fechas[Numero Mes],
      1, “Trimestre 1”,
      2, “Trimestre 1”,
      3, “Trimestre 1”,
      4, “Trimestre 2”,
      5, “Trimestre 2”,
      6, “Trimestre 2”,
      7, “Trimestre 3”,
      8, “Trimestre 3”,
      9, “Trimestre 3”,
      10, “Trimestre 4”,
      11, “Trimestre 4”,
      12, “Trimestre 4”)