excel group-by powerquery excel-2016 m

excel - PowerQuery: ¿Cómo puedo concatenar valores agrupados?



group-by excel-2016 (2)

Puede usar la GUI para hacerlo de esta manera:

  1. Seleccione su LetterColumn y luego Transform / GroupBy:

  2. Seleccione Agregar columna / Columna personalizada:

  3. Haga clic en las flechas opuestas en la parte superior derecha de la nueva columna AllData para extraer valores de la nueva columna AllData:

  4. Eliminar la columna AllData.

Si tengo la siguiente tabla (que se muestra en la imagen a continuación), ¿cómo puedo escribir una consulta agrupada que concatene los resultados agrupados?

Para este ejemplo, me gustaría agrupar por LetterColumn y concatenar NumberColumn

Entonces los resultados deseados serían:


Si su tabla es Fuente y NumberColumn tiene el tipo de número, esto funcionará:

= Table.Group(Source, {"LetterColumn"}, {{"Column", each Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ","), type text}})

Table.Group hace un grupo por operación, que crea una tabla compuesta por todas las filas con el mismo valor en LetterColumn. _[NumberColumn] proporciona una lista de los valores en la columna NumberColumn en esta nueva tabla. La parte List.Transform convierte los números en valores de texto, y Text.Combine une esos números, con una coma que separa cada valor.

Si también necesita las citas circundantes, puede hacer esto:

= Table.Group(Source, {"LetterColumn"}, {{"Column", each """" & Text.Combine(List.Transform(_[NumberColumn], (x) => Number.ToText(x)), ",") & """", type text}})

"""" representa el "carácter y combina dos valores de texto.