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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

El resultado del interruptor no funciona igual que el compás original

Tengo estos números que son correctos:

rpinxt_0-1715156204388.png

Entonces, para m-ésimo 1 2023, el LBE1 = 234,181 y LBE2 = 222,889

Todo bien.

Ahora tengo una segunda matriz que se ve así:

rpinxt_1-1715156275013.png

De prmLBE_Comp sigue en Addendum y de la segmentación de datos Se selecciona el tipo LBE1.

Como veis los partidos de nuber.

Sin embargo, cuando también selecciono LBE2:

rpinxt_2-1715156345157.png

Los suma. Bueno, lo primero que dirás es que es lógico que lo haga y estoy de acuerdo.

Pero esta es mi medida para TypeMax:

TipoMax =
FUERON LBE_Choice = INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Adenda",[Adenda],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Entrante",[Entrante],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Salida directa",[Salida directa],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Exportación saliente",[Exportación saliente]
)
DEVOLUCIÓN
CALCULAR(LBE_Choice,'Tipo AVN MD'[ID] = MAX('Tipo de MD de AVN'[ID]))

Esperaría que el filtro de cálculo funcionara y solo tomara el amout que pertenece al ID de tipo MD máximo, que es 3 en este caso.

Eso sería LBE2 porque tiene el ID más alto de las 2 selecciones.

Y sé que esto funciona porque cuando codifico el apéndice de la medida en la medida:

TipoMax =
FUERON LBE_Choice = INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Adenda",[Adenda],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Entrante",[Entrante],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Salida directa",[Saliente directo],
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Exportación saliente",[Exportación saliente]
)
DEVOLUCIÓN
CALCULAR([Anexo],'Tipo de MD de AVN'[ID] = MÁXIMO('Tipo de MD AVN'[ID]))
Y mira... Funciona a las mil maravillas:
rpinxt_3-1715156762776.png

¿Qué está pasando aquí?

¿Por qué la medida funciona bien con la medida original pero no con la variante Switch?

1 ACCEPTED SOLUTION

Ah , ahora mismo @HotChilli entiendo lo que quieres decir. No puedo decir que lo encuentre lógico de Power BI, pero la medida que informa ya se determina en el modificador.

El retorno no hace mucho más que elegir la opción correcta en el interruptor.

Bueno, para personas con el mismo problema.
Pude solucionar este problema de la siguiente manera:

TipoMax =
FUERON LBE_Choice = INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Adenda",CALCULAR([Adenda],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Entrante",CALCULAR([Entrante],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Salida directa",CALCULAR([Salida directa],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Exportación saliente",CALCULAR([Exportación saliente],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID]))
)
DEVOLUCIÓN
LBE_Choice
Simplemente coloque el cálculo en la línea del interruptor.
Ahora funciona según lo esperado.
Puedo determinar qué 2 opciones se seleccionaron y calcular la diferencia entre los 2 resultados.
😄

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

LBE_Choice obtiene una medida asignada en el conmutador. En ese momento, obtiene un valor de esa medida. Se trata de un valor fijo (numérico). No cambiará.

LBE_Choice no actúa como una especie de variable dinámica en la que el nombre de la medida se pasa a la instrucción RETURN y luego se evalúa en el contexto de filtro dado en CALCULATE.

--

"¿Y qué nombre de la medida no está en el Switch?" - Eso no es lo que estoy diciendo. El interruptor funciona bien, solo que no está haciendo lo que crees que está haciendo.

Ah , ahora mismo @HotChilli entiendo lo que quieres decir. No puedo decir que lo encuentre lógico de Power BI, pero la medida que informa ya se determina en el modificador.

El retorno no hace mucho más que elegir la opción correcta en el interruptor.

Bueno, para personas con el mismo problema.
Pude solucionar este problema de la siguiente manera:

TipoMax =
FUERON LBE_Choice = INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Adenda",CALCULAR([Adenda],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Entrante",CALCULAR([Entrante],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Salida directa",CALCULAR([Salida directa],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID])),
SELECTEDVALUE(prmLBE_Comp[Valor prmLBE_Comp])= "Exportación saliente",CALCULAR([Exportación saliente],'Tipo AVN MD'[ID] = MÁXIMO('Tipo AVN MD'[ID]))
)
DEVOLUCIÓN
LBE_Choice
Simplemente coloque el cálculo en la línea del interruptor.
Ahora funciona según lo esperado.
Puedo determinar qué 2 opciones se seleccionaron y calcular la diferencia entre los 2 resultados.
😄
Syndicate_Admin
Administrator
Administrator

La versión de SWITCH no funciona como crees. El LBE_Choice se evalúa en el SWITCH. No contiene el nombre de la medida y, a continuación, solo lo evalúa en el DAX en la última línea.

Gracias @HotChilli pero no estoy seguro de entender completamente lo que quieres decir.

¿No se puede cambiar mi Switch para que funcione?

¿Y qué nombre de la medida no está en el Switch? Me parece que todas las medidas que quiero usar están en el interruptor.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors