cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Filtrar lista de cadenas de una columna con varias cadenas

Tengo una columna que contiene varias cadenas separadas por un delimitador. El número de cadenas podría estar en el rango de 0 a 1000. Quería filtrar las cadenas en función de otra lista de cadenas estáticas y eliminar todas las cadenas de la columna que no coinciden.

Columna A

Rojo;azul;blanco;gris;negro;naranja;amarillo;rosa

blanco;gris;naranja;rosa

Azul; Rojo;Naranja;Amarillo;Rosa

Lista estática de valores que se conservará en la columna: {white;orange;red;blue}

Resultado esperado del filtro:

Columna A

Rojo;azul;blanco;naranja

blanco; naranja

Azul; Rojo; naranja

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Cree una lista de power query con los colores que desea conservar. Llamémoslo ColourList.

A continuación, en la consulta con ColumnA agregue 2 pasos:

Paso 1 Agregue una nueva columna "Personalizado" que convierte ColumnA en una lista usando

Text.Split([Column A],";")

Paso 2 Agregue otra columna que haga el trabajo de comparar las listas usando

List.Intersect({ [Custom], ColourList}))

que devolverá la lista filtrada y se puede hacer lo que quieras con eso.

Tenga en cuenta que esta será una comparación entre mayúsculas y minúsculas de los elementos de la lista. Si desea una comparación sin distinción entre mayúsculas y minúsculas, creo que puede utilizar el parámetro adicional en List.Intersect.

Echa un vistazo a esto para obtener ayuda:

https://blog.crossjoin.co.uk/2017/01/22/the-list-m-functions-and-the-equationcriteria-argument/

Avísame cómo va.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Cree una lista de power query con los colores que desea conservar. Llamémoslo ColourList.

A continuación, en la consulta con ColumnA agregue 2 pasos:

Paso 1 Agregue una nueva columna "Personalizado" que convierte ColumnA en una lista usando

Text.Split([Column A],";")

Paso 2 Agregue otra columna que haga el trabajo de comparar las listas usando

List.Intersect({ [Custom], ColourList}))

que devolverá la lista filtrada y se puede hacer lo que quieras con eso.

Tenga en cuenta que esta será una comparación entre mayúsculas y minúsculas de los elementos de la lista. Si desea una comparación sin distinción entre mayúsculas y minúsculas, creo que puede utilizar el parámetro adicional en List.Intersect.

Echa un vistazo a esto para obtener ayuda:

https://blog.crossjoin.co.uk/2017/01/22/the-list-m-functions-and-the-equationcriteria-argument/

Avísame cómo va.

View solution in original post

Hola @HotChilli. No pude conseguir tu solución para trabajar. Podría compartir el archivo PBI con su solución.

Gracias.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!