Forum Discussion
IF Varias columnas iguales a Valor (Power Query M)
Hola, chicos,
Necesito saber si hay una fórmula o función que me permita enumerar columnas y si esas columnas equivalen a un cierto valor en cada fila, quiero devolver algún valor.
Por ejemplo:
A B C D E RESULTADO
VERDADERO VERDADERO VERDADERO VERDADERO VERDADERO
VERDADERO FALSO VERDADERO FALSO FALSO FALSO FALSO
Normalmente, escribiría:
if
[A] = true or
[B] = true or
[C] = true or
[D] = true
then true else false
Pero tengo muchas columnas y esto se está volviendo realmente desordenado, me gustaría ver si hay una función para ello, similar a List.Contains.
Así que idealmente algo como esto:
if ColumnContains({"A","B","C","D"}, true) = true then true else false
Y quiero hacerlo en Power Query M para cada fila.
Lo siento por el formato, pero no me permitió usar la tabla de alguna manera.
5 Replies
- Syndicate_Admin
Administrator
Puedes usar List.MatchesAny pero ¿cuál es la lógica de que la segunda línea sea igual a FALSE? Si sigue la lógica del código que proporcionó (cada condición con una 'o'), es VERDADERO
- Syndicate_Admin
Administrator
@HotChilli ,
Sí, mi mal, realmente no verifiqué la lógica, fue solo para dar un ejemplo, que necesito verificar varias columnas. - Syndicate_Admin
Administrator
@HotChilli
Así que utilicé tu lógica y es correcta, gracias, HotChilli.List.MatchesAny({[A], [B], [C], [D]}, each _ = true)
- Syndicate_Admin
Administrator
= Table.AddColumn(#"Changed Type", "Result", each not (List.PositionOf(Record.ToList(_),false)<>-1))- Syndicate_Admin
Administrator
@CNENFRNL
Gracias por el esfuerzo, esto comprueba si cada columna es VERDADERA, ¿verdad?
Esto no me conviene, muy bien, en mi escenario real, pero estoy de acuerdo, mi ejemplo no fue el mejor.
Así que gracias por el esfuerzo.