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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Buscar y concatenar

Hola, soy nuevo en Power BI y busco una solución para mi siguiente escenario:

Tengo un campo de SharePoint que tiene varios valores en una columna. Esto es en forma de identificación. A esto lo llamo Tabla A

User_ID
12, 96, 42
1
12, 22

Tengo una lista de información de usuario que corresponde a cada uno de estos identificadores: a esto lo llamo Tabla B

IDENTIFICACIÓNNombre
1Tom
12John
15David
22Julie
42Brezo
96Adán
100Stacy

Estoy buscando una salida en una columna de la Tabla A como la siguiente:

IDENTIFICACIÓNNombre
12, 96, 42John; Adán; Brezo
1Tom
12, 22John; Julie

Probé diferentes opciones, pero no pude tener éxito. Tengo varias columnas en la Tabla A que necesito para lograr esto.

Por favor, ayuda

Jimbob

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

Este código M funciona

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"User_ID", type text}}),
    Custom1 = Table.ToRows(Table2),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Text.Combine(List.ReplaceMatchingItems(Text.Split([User_ID],", "),Custom1),", ")),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"User_ID"})
in
    #"Removed Columns"

Espero que esto ayude.

Ashish_Mathur_0-1713918892855.png

Syndicate_Admin
Administrator
Administrator

Gracias por la pronta respuesta. Probaré ambas opciones.

Syndicate_Admin
Administrator
Administrator

@thecoolcracker

@vicky_ es genial. Simplemente agregue otra solución para el último paso.

se puede agrupar por en el PQ

= Table.Group(#"Tabla B expandida", {"Índice"}, {{"id", cada Text.Combine([User_ID],","), escriba texto que acepta valores NULL}, {"name", cada Text.Combine([Nombre],","), escriba texto que acepta valores NULL}})

A continuación, elimine la columna de índice

11.PNG

Por favor, vea el archivo adjunto a continuación

Syndicate_Admin
Administrator
Administrator

Le recomendaría que corrija primero los datos de la tabla de identificadores en PowerQuery.

Primero, agrego una columna para el grupo (para saber qué UserIds se agrupan más adelante), lo que se puede hacer yendo a Agregar columna > columna de índice.

A continuación, divido los UserIds en Transformar > Dividir columna > por delimitador

Por último, selecciono todas las columnas userId recién creadas y luego voy a Transformar > anular la dinamización de columnas (también puedo eliminar la columna de atributos, ya que no la necesito). El resultado es la siguiente tabla

vicky__1-1713825029327.png

Después de volver a cargar los datos, cree una relación (con ambas direcciones de filtro cruzado) entre las dos columnas UserID. A continuación, puedo usar el siguiente DAX en una medida para obtener la salida:

Names (concatenated) = CONCATENATEX(Names, Names[Name], ", ")

vicky__2-1713825414169.png

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.