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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Uso de SWITCH en una tabla para evaluar solo una fila a la vez

Hola, estamos tratando de visualizar los cambios en una tabla agregando pequeñas flechas, que indican si un elemento se ha movido hacia arriba o hacia abajo desde ayer. Tenemos una medida llamada #arrow que se supone que indica si la flecha debe apuntar hacia arriba, hacia abajo o hacia los lados. Pero la flecha siempre apunta hacia arriba, y sospechamos que esto se debe a que el código evalúa toda la tabla, no solo la fila en la que se encuentra.

bookhouseboy_0-1738321267290.png


Lo extraño es que #Test, que también es una medida, muestra el valor correcto para una sola fila. No podemos averiguar por qué actúa para una fila durante #Test, sino para toda la tabla para #arrow. Hemos probado SELECTEDVALUE, VALUES y SUM para #arrow.

#Test = SUM(X[DeltaRang])
#arrow =
SWITCH(
TRUE(),
SUM(X[DeltaRang]) < 0, UNICHAR(9207), // Negativ
SUM(X[DeltaRang]) = 0, UNICHAR(9205), // Null
SUM(X[DeltaRang]) > 0, UNICHAR(9206), // Positiv
UNICHAR(9210) 
)


¿Ayuda, por favor?

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Creo que esto es un error en Power BI. Cuando ejecuto el código siguiente en la vista de consulta de DAX en Power BI Desktop o en DAX Studio conectado a un modelo semántico en el servicio, obtengo una salida que muestra todos los códigos con el mismo símbolo. Cuando me encuentro con dax.do ( https://dax.do/zA2kV4Detv6kqx/ ) obtengo los resultados correctos.

johnt75_0-1738329783139.png

Probablemente valga la pena presentar un informe de error con el soporte de Microsoft.

Y el soporte de Microsoft dice que no pueden replicar el problema. Bueno.

Eso es desalentador... ¡Pero gracias por hacer ese esfuerzo!

Syndicate_Admin
Administrator
Administrator

@bookhouseboy , Intente usar

#arrow =
INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE(X[DeltaRang]) < 0, UNICHAR(9207), // Negativo
SELECTEDVALUE(X[DeltaRang]) = 0, UNICHAR(9205), // Null
SELECTEDVALUE(X[DeltaRang]) > 0, UNICHAR(9206), // Positivo
UNICHAR(9210)
)

Gracias, pero no, lo intentamos, sin cambios. ☹️

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Top Solution Authors