Agregar columna personalizada con nombre de hoja

Un usuario Pregunto ✅

rlcec

Hola a todos,

¿Es posible agregar una columna personalizada con el nombre de la hoja como valores?

Tenemos un libro de trabajo con diferentes hojas de trabajo por país (Portugal, Austria, …). La hoja de Portugal, por ejemplo, se ve así:

Fecha Categoría Monto
1-1-2019 Alfa

100

14-4-2019 Beta 250

El objetivo es llegar a esta tabla:

Fecha Categoría Monto País
1-1-2019 Alfa

100

Portugal

14-4-2019 Beta 250 Portugal

Desde ya muchas gracias por cualquier ayuda sobre este tema!

Hola rlcec,

Puede intentar usar el código M debajo para agregar el nombre de la hoja

let
    Source = Excel.Workbook(File.Contents("C:Users<username>DesktopNew Microsoft Excel Worksheet (5).xlsx"), null, true),
    country2_Sheet = Source{[Item="country2",Kind="Sheet"]}[Data],
    #"Promoted Headers1" = Table.PromoteHeaders(country2_Sheet, [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers1",{{"country", Int64.Type}, {"anme", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Source{[Item="country2",Kind="Sheet"]}[Name])
in
    #"Added Custom"

Atentamente,
zoe zhi

Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Hola rlcec,

Puede intentar usar el código M debajo para agregar el nombre de la hoja

let
    Source = Excel.Workbook(File.Contents("C:Users<username>DesktopNew Microsoft Excel Worksheet (5).xlsx"), null, true),
    country2_Sheet = Source{[Item="country2",Kind="Sheet"]}[Data],
    #"Promoted Headers1" = Table.PromoteHeaders(country2_Sheet, [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers1",{{"country", Int64.Type}, {"anme", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Source{[Item="country2",Kind="Sheet"]}[Name])
in
    #"Added Custom"

Atentamente,
zoe zhi

Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Anónimo

Puede fusionar las tablas en Power Query Editor después de haber importado el archivo de Excel.

1. Importe el archivo de Excel en Power Query Editor (cada hoja como una tabla nueva)
2. Cree una nueva consulta:

(Utilicé Portugal y España como nombres de tabla como referencia).

let
Source = #table({"Tables"}, {{"Portugal"}, {"Spain"}}),
Evaluate = Table.AddColumn(Source, "Custom", each Expression.Evaluate([Tables], #shared)),
Merged = Table.ExpandTableColumn(Evaluate, "Custom", List.Union(List.Transform(Evaluate[Custom], each Table.ColumnNames(_))))
in 
Merged

Esto debería funcionar.

Deja un comentario

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