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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Búsqueda de elementos coincidentes con dos columnas separadas por comas

Hola a todos

Tengo dos mesas con una relación de uno a muchos. Ambos tienen una columna con una lista de valores separados por una coma:

por ejemplo: Tabla 1 (Un lado)

NombreMascotas
Bobperro, pez
Sallygato, pollo
Andypescado, perro, gato

Tabla 2 (Muchos lados)

NombreCompras
Bobpollo, ternera
Sallycarne de res, leche, pollo
Andyqueso, pescado

Quiero crear una columna calculada en la Tabla 2 que devuelva 'Y' si uno de los elementos de las compras de comestibles se encuentra en la columna mascotas o "N" de lo contrario. (Prefiero hacer esto en DAX)

Eg:

NombreComprasElemento coincidente
Bobpollo, terneraN
Sallycarne de res, leche, polloY
Andyqueso, pescadoY

Siento que una forma de hacerlo sería dividir las compras de comestibles en elementos separados por la coma y usar CONTAINSSTRING() para cada uno de los elementos, pero no estoy seguro de cómo lograr esto en DAX / PBI.

¡Cualquier ayuda sería muy apreciada!

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Gracias @parry2k esto también funcionó para mí y está más limpio que lo que tenía.

Syndicate_Admin
Administrator
Administrator

@purple_SP o puede agregar una nueva columna en Tabla2 con la siguiente expresión, cambie el nombre de la tabla y el nombre de la columna según su modelo.

Matching Item = 
VAR __shoppingValue = SUBSTITUTE (Table2[ Grocery Shopping],",","|" )
VAR __totalValues = PATHLENGTH (__shoppingValue )
VAR __petsList = RELATED (Table1[ Pets] )
VAR __matchingTable = 
    ADDCOLUMNS (
        GENERATESERIES (1, __totalValues ), 
        "@IsMatched", CONTAINSSTRING ( __petsList, PATHITEM ( __shoppingValue, [Value],TEXT ) ) + 0 
    )
VAR __matchCount = SUMX ( __matchingTable, [@IsMatched])
RETURN IF ( __matchCount > 0, "Yes", "No" )

👉 Aprenda Power BI Suscríbase a nuestro canal YT - @PowerBIHowTo

Syndicate_Admin
Administrator
Administrator

Pude encontrar una solución a este problema (con muchas gracias a este post: Resuelto: DAX para dividir en filas en Delimeter - Microsoft Fabric Community ) dividiendo la primera lista en filas por un delimitador, usando CONTAINSSTRING para crear una columna que es 1 si el elemento de la primera lista existe en la segunda y 0 en caso contrario, y usar SUMX con una instrucción if para obtener el resultado final.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Users online (4,944)