PowerQuery cambia el nombre de las columnas por posición dentro de una columna con tablas

Un usuario Pregunto ✅

Fcoatis

Hola a todos,

Necesito ayuda aquí. Estoy tratando de cambiar el nombre de Columnas por posición, pero mis tablas están dentro de una columna. Esto es lo que estoy tratando de hacer:

Figura 1.png

Gracias por adelantado

felipetreacy

Hola @Fcoatis

Use Table.ColumnNames para acceder al nombre de la columna, referenciado por posición:

Table.RenameColumns
(
   [Limpa],
   {
   {Table.ColumnNames([Limpa]){0},"Col1"},
   {Table.ColumnNames([Limpa]){1},"Col2"},
   {Table.ColumnNames([Limpa]){2},"Col3"},
   {Table.ColumnNames([Limpa]){3},"Col4"}
   }
)

Saludos

phil

felipetreacy

Hola @Fcoatis

Use Table.ColumnNames para acceder al nombre de la columna, referenciado por posición:

Table.RenameColumns
(
   [Limpa],
   {
   {Table.ColumnNames([Limpa]){0},"Col1"},
   {Table.ColumnNames([Limpa]){1},"Col2"},
   {Table.ColumnNames([Limpa]){2},"Col3"},
   {Table.ColumnNames([Limpa]){3},"Col4"}
   }
)

Saludos

phil

Fcoatis

En respuesta a felipetreacy

@PhilipTreacy ¡¡¡Muchas gracias!!! Funcionó.

allisonkennedy

En respuesta a felipetreacy

Gracias @PhilipTreacy: eso es mucho más eficiente que la función personalizada en la que estaba trabajando. Se parece a esto:

= (Parámetro1 como binario) => let
Fuente = Csv.Documento(Parámetro1,[Delimiter=»,», Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#»Encabezados promocionados» = Table.PromoteHeaders(Fuente, [PromoteAllScalars=true]),
#»Encabezados degradados» = Table.DemoteHeaders(#»Encabezados promocionados»),
#»Primeras filas mantenidas» = Table.FirstN(#»Encabezados degradados»,1),
#»Tabla transpuesta» = Table.Transpose(#»Primeras filas mantenidas»),
#»Índice agregado» = Table.AddIndexColumn(#»Tabla transpuesta», «Índice», 1, 1, Int64.Type),
#»Columna condicional agregada» = Table.AddColumn(#»Índice agregado», «Nuevos encabezados», cada uno si [Index] = 1 luego «Col1» sino si [Index] = 2 luego «Col2» sino si [Index] = 3 luego «Col3» más [Index]),
#»Otras columnas eliminadas» = Table.SelectColumns(#»Columna condicional agregada»,{«Nuevos encabezados»}),
#»Transposed Table1″ = Table.Transpose(#»Otras columnas eliminadas»),
#»Consulta adjunta» = Table.Combine({#»Transposed Table1″, #»Degraded Headers»}),
#»Encabezados promocionados1″ = Table.PromoteHeaders(#»Consulta adjunta», [PromoteAllScalars=true]),
#»Tipo cambiado» = Table.TransformColumnTypes(#»Encabezados promocionados1″,{{«Col1», escriba texto}, {«Col2», escriba texto}, {«Col3», escriba texto}, {«4», escriba texto}, {«5», escriba texto}, {«6», escriba texto}}),
#»Filas superiores eliminadas» = Table.Skip(#»Tipo cambiado»,1)
en
#»Filas superiores eliminadas»

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *