cramos
¡Hola!
Lo siento, probablemente esto se haya preguntado antes, pero no he podido encontrarlo.
Tengo columnas, la columna 1 tiene valores repetidos y la columna 2 valores únicos. Me gustaría agrupar los valores repetidos de la columna 1 y concatenar los valores en la columna 2.
tengo algo como:
a | perros |
a | gato |
a | pájaro |
B | enero |
B | febrero |
C | 1 |
C | 2 |
C | 3 |
C | 4 |
Y me gustaría obtener:
a | perro, gato, pajaro |
B | enero febrero |
C | 1,2,3,4 |
¿Es posible?
¡Muchas gracias!
Marcel Beug
En el Editor de consultas, puede utilizar la opción Agrupar por.
Primero, elija alguna agregación para la columna 2 para crear el código base, por ejemplo, Sum:
(ignore cualquier error) y ajuste el código generado a:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"Column2 Values", each Text.Combine([Column2],","), type text}}) in #"Grouped Rows"
Observe que Column2 se escribe como texto.
ChemEnger
@MarcelBeug,
Sé que este es un hilo antiguo, pero me ayudó muchísimo, ¡gracias! Para otros que tropiezan con esta respuesta, hay una Idea pero sin apenas votos: Idea de Microsoft · Incorporar el operador Concatenar a la función Agrupar por (powerbi.com)
Burak317
¿Hay alguna manera de lograr esto, sin tener en cuenta los espacios en blanco?
RavitPBI
Hola, parece que esta solución no funciona para el modo DirectQuery. ¿Hay alguna manera de que podamos implementar esta agrupación cuando usamos el modo DirectQuery?
RavitPBI
En respuesta a RavitPBI
No importa, ¡entendido!
Marcel Beug
En el Editor de consultas, puede utilizar la opción Agrupar por.
Primero, elija alguna agregación para la columna 2 para crear el código base, por ejemplo, Sum:
(ignore cualquier error) y ajuste el código generado a:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"Column2 Values", each Text.Combine([Column2],","), type text}}) in #"Grouped Rows"
Observe que Column2 se escribe como texto.
ngadiez
En respuesta a Marcel Beug
@MarcelBeug hola Marcel.
Si tengo esta tabla
IDENTIFICACIÓN | Ciudad | País |
1 | tokio | Japón |
1 | Kioto | Japón |
2 | Nueva York | EE.UU |
3 | Beijing | China |
3 | Jacarta | Indonesia |
4 | Kuala Lumpur | Malasia |
puedo resumir esto
IDENTIFICACIÓN | Ciudad | País |
1 | Tokio, Kioto | Japón |
2 | Nueva York | EE.UU |
3 | Pekín, Yakarta | China, Indonesia |
4 | Kuala Lumpur | Malasia |
La idea es eliminar la repetición, en lugar de Japón, Japón. Se convertirá en Japón.
jalozanocampo
En respuesta a ngadiez
Hola @ngadiez
Esto funcionó para mí, la clave era List.Distict:
Table.Group(#»Columnas quitadas», {«Ciudad»}, {{«País», each Text.Combine(List.Distinct([País)»»)typetext}})[Country)»»)typetext}})
mgiro
En respuesta a Marcel Beug
¿Hay alguna manera de lograr esto en DAX? tratando de hacer esto, pero en DAX porque es de una tabla calculada.
¡Gracias!
JoshInglés
En respuesta a mgiro
Esto no es posible en DAX, por lo que he intentado. Ni SUMMARIZE ni GROUP_BY ni SUMMARIZECOLUMNS hacen que esto esté disponible. Puede contar las filas, contar los valores únicos, incluso, pero no puede extraer el texto de las columnas y tratarlas como filas.
FrankAT
En respuesta a JoshInglés
Hola @Cramos
Esto no es correcto. tengo la siguiente tabla:
Con DAX puedo crear una tabla calculada como esta:
En una matriz visual puedo usar la siguiente medida:
Un cordial saludo desde el pueblo donde vive la leyenda del ‘Pied Piper of Hamelin’
FrankAT (Orgulloso de ser un Datanaut)
cramos
En respuesta a Marcel Beug
¡Funciona perfectamente! ¡Muchas gracias!