![Gestión de columnas/filas en Power Query](https://rvso.com/image/1672301/Gesti%C3%B3n%20de%20columnas%2Ffilas%20en%20Power%20Query.png)
Tengo un archivo .txt con muchos datos. Lo tengo cargado en Power Query de esta manera:
[deje que una letra (A) sea igual a una fila de datos, una columna de ancho]
A
B
C
D
E
A
B
E
A
E
A
B
C
D
E
etcétera...
Me gustaría organizarlo en filas y columnas de modo que ahora se vea así
AAAA
BBEB
CE x C
D xx D
E xx E
utilizando el valor "A" como delimitador para determinar la separación en una nueva columna. Además, el último valor siempre será el mismo ("E" arriba) si eso es relevante.
es posible?
Respuesta1
Conceptualmente simple pero requiere el uso del Editor avanzado para el último paso
- Cree una columna que tenga el mismo número para cada grupo que comience con "A"
- Agregar una columna de índice
- Agregue una columna personalizada (Nombrada
Grouper
) con fórmulaif [Column1]="A" then [Index] else null
- Llenar hacia abajo
Grouper
- Grupo en Mero
- Agregar "Todas las filas"
- Agregue otra columna personalizada que extraiga, como una lista, los valores en cada columna de subtabla1
- Utilice esas listas para crear una nueva tabla usando la
Table.FromColumns
función
let
//Change next line to reflect actual data source
Source = Excel.CurrentWorkbook(){[Name="Table26"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
#"Added Custom" = Table.AddColumn(#"Added Index", "Grouper", each if [Column1]="A" then [Index] else null),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index"}),
#"Filled Down" = Table.FillDown(#"Removed Columns",{"Grouper"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"Grouper"}, {{"Count", each _, type table [Column1=nullable text, Grouper=number]}}),
#"Removed Columns1" = Table.RemoveColumns(#"Grouped Rows",{"Grouper"}),
#"Added Custom1" = Table.AddColumn(#"Removed Columns1", "Columns", each [Count][Column1]),
#"Removed Columns2" = Table.RemoveColumns(#"Added Custom1",{"Count"}),
#"New Table" = Table.FromColumns(#"Removed Columns2"[Columns])
in
#"New Table"