The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
hola tengo 3 medidas
1. es mes máximo = MAX('Calendario'[Fecha].[ Número de mes])
Esta medida me da el número máximo de meses en el año
2. Último valor = calcular([mes máximo],filter( 'Tabla1',Tabla1[Valor] <> en blanco()))
Esta medida me da el número del mes pasado con valor (por ejemplo, si el último valor fue para mayo, me muestra 5, si el último valor fue para marzo, me muestra 3, etc.)
3. Medida = si([Último valor] = 7, (calcular(Tabla1[Valor], filter('Calendario','Calendario'[Fecha].[ Número de mes] = 6))), if([Último valor] = 6, (calculate(Table1[Value], filter('Calendar','Calendar'[Date].[ Número de mes] = 5))), if([Último valor] = 5, (calculate(Table1[Value], filter('Calendar','Calendar'[Date].[ Número de mes] = 4))), if([Último valor] = 4, (calculate(Table1[Value], filter('Calendar','Calendar'[Date].[ Número de mes] = 3))), if([Último valor] = 3, (calculate(Table1[Value], filter('Calendar','Calendar'[Date].[ Número de mes] = 2))),"xd")))))
esa medida nos da valor para el mes anterior al mes pasado con valor (por ejemplo si en mayo tenemos valor 50 y en abril 30, mostrará 30 etc)
es posible optimizar este dax ?
He aquí un ejemplo.
-------- IF form ------------
SizeDesc =
IF ( Product[Size] = "S", "Small",
IF ( Product[Size] = "M", "Medium",
IF ( Product[Size] = "L", "Large",
IF ( Product[Size] = "XL", "Extra Large", "Other" ) ) ) )
-------- SWITCH equivalent ------------
SizeDesc =
SWITCH (
Product[Size],
"S", "Small",
"M", "Medium",
"L", "Large",
"XL", "Extra Large",
"Other"
)
Por favor, pruebe esta medida.
Measure =
SWITCH(
[Last value],
7,CALCULATE(MAX('Table1'[Value]),MONTH('Calendar'[Date]) = 6),
6,CALCULATE(MAX('Table1'[Value]),MONTH('Calendar'[Date]) = 5),
5,CALCULATE(MAX('Table1'[Value]),MONTH('Calendar'[Date]) = 4),
4,CALCULATE(MAX('Table1'[Value]),MONTH('Calendar'[Date])= 3),
3,CALCULATE(MAX('Table1'[Value]),MONTH('Calendar'[Date]) = 2),
"xd"
)
Si esto no funciona para usted, considere proporcionar un archivo de ejemplo sin datos privados.
Cómo proporcionar datos de ejemplo en el foro de Power BI
Saludos
Gao
Equipo de soporte de la comunidad
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!
Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de muestra
En primer lugar, en lugar de usar múltiples instrucciones IF, la mejor opción es usar SWITCH.
En segundo lugar, para una consulta como esta, probablemente debería estar mirando hacia algunas de las funciones de inteligencia de tiempo incorporadas de power bi.
¿Puede decirme más sobre las funciones de ese interruptor?
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.