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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live 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
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

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.