Casos de uso y modelo de datos con DAX
¿Cuándo utilizar DAX en Power BI?
Modelo de datos del proyecto de ventas de vehículos
¿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
Columna calculada
Tablas calculadas
Quiz: Creación de tablas y columnas con DAX
Medidas
¿Cuándo crear una medida con DAX?
¿Cuáles son las principales funciones de agregación de DAX?
Manipulación de texto con DAX
Funciones lógicas y condicionales: IF, AND, OR
Funciones lógicas y condicionales anidadas: IF, SWITCH
Funciones lógicas y condicionales: HASONEVALUE
Funciones lógicas y condicionales: SELECTEDVALUE
Filtrado de datos con FILTER y SEARCH
Quiz: Medidas
CALCULATE
Uso de CALCULATE en Power BI
CALCULATE con ALL y ALLEXCEPT
Quiz: CALCULATE
Manejo de Iteradores y contextos
Iteradores X: cálculos por fila
Clasificación y ordenamiento de datos con RANKX y TOP
Evaluación de contextos con CALCULATE
Quiz: Manejo de Iteradores y contextos
Funciones de inteligencia de tiempo
Análisis de fechas y tiempo con DAX
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
Uso de variables para optimizar fórmulas en DAX
Mejorar legibilidad de código con DAX Formatter
Evaluación de modelo de datos con DAX Studio
Mantenimiento de modelos de datos con Tabular Editor
¿Cómo escribir código DAX con ChatGPT?
AI Visuals para interpretar el modelo de datos
Integración de medidas en reporte de Power BI
Reporte con medidas de seguimiento comercial en Power BI
Integración de visualizaciones de productos de mayor venta y ganancia
You don't have access to this class
Keep learning! Join and start boosting your career
Nested conditionals in Power BI are a very powerful tool for categorizing and segmenting data efficiently. Although they may seem complicated at first, with practice it is easy to master them. How can we use them to create a new category? Here a common case comes into play: classifying vehicle models by price. Let's explore how this is done with practical exercises so that you can apply it in your projects.
To begin with, we need to generate a table with specific data of interest. Let's imagine that we are working with a table "Photo Vehicle", which contains fields such as "Model" and "Price". We want to create in it a column called "Model Classification" that classifies vehicles according to price. The classification logic can be as follows:
In DAX, this logic is implemented through a nested IF
, which allows multiple conditions to be evaluated in a hierarchical manner. The structure would look something like this:
Classification Model =IF([Price] <= 2500, "Economic Model", IF([Price] <= 38000, "Medium Price Model", IF([Price] <= 45000, "High Price Model", "VIP Model") )) )
Nested conditionals can become cumbersome if you increase the conditions. This is where the use of SWITCH in DAX is invaluable. SWITCH allows us to handle multiple scenarios in a clearer and more organized way. For example, we can use SWITCH to calculate the quarter on a monthly basis:
The basic structure using SWITCH would be as follows:
Quarter =SWITCH(TRUE(), [ Month] = 1 || [Month] = 2 || [Month] = 3, "Quarter 1", [ Month] = 4 || [Month] = 4 || [Month] = 5 || [Month] = 6, "Quarter 2", [ Month] = 7 || [Month] = 8 || [Month] = 9, "Quarter 3", [ Month] = 10 || [Month] = 11 || [Month] = 12, "Quarter 4")
SWITCH not only simplifies code writing, but also makes the applied logic more readable. This is especially useful in complex scenarios where many conditions are evaluated. The readability and maintainability of the code increases significantly, which is crucial for long-term projects and team collaborations.
Using nested conditionals and learning to simplify them with SWITCH can transform how you categorize data in Power BI. Master these tools and see how they streamline your workflows and improve data interpretation. Don't stop here, keep practicing and exploring more DAX features to become a Power BI expert!
Contributions 22
Questions 3
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 💎"
)
Yo lo hice acompañado de un true para simplificarlo un poco.
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)
Paso 3: Redondear el resultado
CEILING((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3, 1)
Paso 4: Construir la cadena del trimestre
"Q" & CEILING((MOD(Dim_Fechas[Month number] - 1, 12) + 1) / 3, 1)
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”)
Genial…!
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”)
Want to see more contributions, questions and answers from the community?