Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

cómo optimizar mi dax

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 ?

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@hylosko ,

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

Syndicate_Admin
Administrator
Administrator

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?

NickolajJessen_0-1655989210986.png

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors