TimNYC
Soy consciente de la función de Power Query List.Contains () para encontrar todos los elementos que están en la lista. Pero lo que necesito es todo lo contrario, encontrar todos los elementos que no están en la lista. En otras palabras, el equivalente de la función «NOT IN» de SQL. Lo que necesito es que esto devuelva todas las transacciones donde el código de pago no es «BADDEBT» o «WRITEOF»
cada uno si [Payment] = 1 y List.Containts ([paycode], «BADDEBT», «WRITEOF») luego «Pagado» o «N / A»
Gracias,
Tim
v-shex-msft
Hola @TimNYC,
Después de probar con algunos datos de muestra, me gustaría sugerirle que empaque el texto de su código incorrecto como una lista y lo compare con la función ‘List.ContainsAny’ en la declaración if para lograr su requisito.
Fórmula de muestra:
#"Added Custom"= Table.AddColumn(#"Changed Type", "Custom", each if [Payment] <> 1 then "N/A" else if List.ContainsAny([paycode],{"BADDEBT","WRITEOF"}) then "N/A" else "Paid")
Comentario:
1. ‘List.contains’ no se puede comparar con varios valores, utilice ‘List.containsAny’ en su lugar. Si no desea utilizar otras funciones de consulta m, puede escribir varias funciones ‘list.contains’ (con cada código incorrecto) y vincularlas con la palabra clave ‘y’.
2. La función ‘List.contains’ devolverá un resultado bool basado en los resultados de comparación. Si desea extraer resultados inversos, solo necesita intercambiar expresiones booleanas de su declaración if. (intercambiar expresiones verdaderas y falsas)
Saludos,
Xiaxoin Sheng
apo1979prio
v-shex-msft
Hola @TimNYC,
Después de probar con algunos datos de muestra, me gustaría sugerirle que empaquete el texto de su código incorrecto como una lista y lo compare con la función ‘List.ContainsAny’ en la declaración if para lograr su requisito.
Fórmula de muestra:
#"Added Custom"= Table.AddColumn(#"Changed Type", "Custom", each if [Payment] <> 1 then "N/A" else if List.ContainsAny([paycode],{"BADDEBT","WRITEOF"}) then "N/A" else "Paid")
Comentario:
1. ‘List.contains’ no se puede comparar con varios valores, utilice ‘List.containsAny’ en su lugar. Si no desea utilizar otras funciones de consulta m, puede escribir varias funciones ‘list.contains’ (con cada código incorrecto) y vincularlas con la palabra clave ‘y’.
2. La función ‘List.contains’ devolverá un resultado bool basado en los resultados de comparación. Si desea extraer resultados inversos, solo necesita intercambiar expresiones booleanas de su declaración if. (intercambiar expresiones verdaderas y falsas)
Saludos,
Xiaxoin Sheng
az38
Hola @TimNYC
no usar () como
each if [Payment] = 1 and not(List.Containts([paycode],"BADDEBT","WRITEOF")) then "Paid" else "N/A"
pero no estoy seguro de que sea la sintaxis correcta para List.Contains.