Forum Discussion

PowerBI123456's avatar
PowerBI123456
Post Partisan
5 years ago

Headers Power Query

Hola

Estoy combinando varios archivos de una carpeta. La primera columna (la columna de origen), necesito que el encabezado de columna permanezca como "nombre de origen", pero para las otras columnas, necesito promover la primera fila como encabezado. ¿Cómo puedo promocionar cabezas para todas las columnas excepto una?

PowerBI123456_0-1600280897580.png

Aquí está el código M:

Dejar
Origen: Folder.Files("XX),
"Filas filtradas" - Table.SelectRows(Source, each ([Date modified] á #datetime(2020, 8, 28, 5, 1, 38.7773285) o [Fecha de modificación] á #datetime(2020, 8, 28, 5, 1, 50.7148695) o [Fecha de modificación] #datetime(2020, 8, 28, 5, 2, 40.964363)),
"Archivos ocultos filtrados1" - Table.SelectRows("Filas filtradas", cada [Atributos]?[ ¿Oculto]? <> true),
"Invocar función personalizada1" - Table.AddColumn(-"Archivos ocultos filtrados1", "Transformar archivo (9)", cada archivo de transformación (9)"([Contenido])),
"Columnas renombradas1" - Table.RenameColumns('"Invocar función personalizada1", 'Nombre", "Source.Name"'),
"Eliminado Otras Columnas1" - Table.SelectColumns(-"Columnas renombradas1", "Source.Name", "Transformar archivo (9)"-),
"Archivo de transformación expandido (9)" - Table.ExpandTableColumn(-"Removed Other Columns1", "Transform File (9)", ?"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23", "Column24", "Column25", "Transform File (9). Column1", "Transform File (9). Column2", "Transform File (9). Column3", "Transform File (9). Column4", "Transformar archivo (9). Column5", "Transformar archivo (9). Column6", "Transformar archivo (9). Column7", "Transformar archivo (9). Column8", "Transformar archivo (9). Column9", "Transformar archivo (9). Column10", "Transformar archivo (9). Column11", "Transformar archivo (9). Column12", "Transformar archivo (9). Column13", "Transformar archivo (9). Column14", "Transformar archivo (9). Column15", "Transformar archivo (9). Column16", "Transformar archivo (9). Column17", "Transformar archivo (9). Column18", "Transformar archivo (9). Column19", "Transformar archivo (9). Column20", "Transformar archivo (9). Column21", "Transformar archivo (9). Column22", "Transformar archivo (9). Column23", "Transformar archivo (9). Column24", "Transformar archivo (9). Columna25" )
En
"Archivo de transformación expandido (9)"

Gracias de antemano!

5 Replies

  • @PowerBI123456

    Después de promocionar el encabezado, vaya y agregue el siguiente código, solo cambiará el nombre de la primera columna:

    Table.RenameColumns(#"Promoted Headers",{{Table.ColumnNames(#"Promoted Headers"){0}, "Source.Name"}})



    Puede pegar este código en una consulta en blanco y comprobar los pasos:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs7PTVVwSSxJVNJRcstMzUlRyEvMTQVyPP0igKRHcIBSrE60kiGQbQTExkBsAhYxBbLMgNgciC2UYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, #"TrasnformFile Column 1" = _t, #"TrasnformFile Column 2" = _t, #"TrasnformFile Column 3" = _t]),
        #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
        Custom1 = Table.RenameColumns(#"Promoted Headers",{{Table.ColumnNames(#"Promoted Headers"){0}, "Source.Name"}})
    in
        Custom1

    Fowmy_0-1600286189103.png

    Después

    Fowmy_1-1600286204582.png

    Aprendido de @ImkeF

    ________________________

    Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla

    Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

    Youtube Linkedin

    • PowerBI123456's avatar
      PowerBI123456
      Post Partisan

      Fowmy  Thanks! I am actually trying to do the inverse. I am trying to promote the first row as a header for all columns except the first column. Hope that makes sense. 

       

      • AllisonKennedy's avatar
        AllisonKennedy
        Community Champion
        @PowerBI123456 no puede promocionar solo algunos encabezados, lo que provocaría discordancia en las filas de datos, por lo que esencialmente tiene que promocionar TODOS los encabezados y, a continuación, cambiar el nombre de la primera columna. ¿Espero que tenga sentido?
  • AllisonKennedy's avatar
    AllisonKennedy
    Community Champion
    @PowerBI123456
    Otra cosa que puedes intentar es promocionar tus encabezados en la función personalizada primero, luego no tendrás este problema. Busca
    Transformar archivo (9)
    en el panel de consultas del lado izquierdo y, a continuación, haga clic en los pasos de consulta de archivo de ejemplo y agregue el paso de encabezados promocionados al archivo de ejemplo. Esto debería actualizar la función personalizada y eliminar la necesidad de promover encabezados en la consulta final (y también deshacerse de las filas de encabezado en el medio de los datos que podrían haber estado estropeando las cosas antes).