Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Combinar datos y despivotar

Hola a todos,

(Soy nuevo en PowerBI)

Estoy intentando combinar conjuntos de datos de una carpeta.

Sin embargo, estos conjuntos de datos deben ser despivotados.

Después de importar mis conjuntos de datos, he despivotado el "archivo de muestra de transformación".

Una vez hecho esto, agrego una columna en la tabla principal con la "función personalizada invocada" del editor de consultas y elijo mi archivo transformado que ha sido despivotado.

Sin embargo, recibo un error en mi columna de archivo de transformación. Vea más abajo.

¿Alguna idea de cómo puedo resolver esto? ¿Estoy siguiendo los pasos correctos?

Cuando hago clic en el error, dice: "Se produjo un error en la consulta 'Transformar archivo (5)'. Expression.Error: No se encontró la columna 'SK' de la tabla". (Se refiere al nombre de la columna en el archivo original de Excel. Este nombre de columna se ha quitado porque la tabla no tenía pivote )

Gracias por la ayuda

14 Replies

  • Hi , @Chrisjr

    Según su descripción, el [Archivo de transformación (5)] devuelve un código de error como este:

    Expression.Error: No se encontró la columna 'SK' de la tabla.

    Para este problema, no tengo sus pasos y datos detallados, solo puedo darle la siguiente solución:

    (1) Para este error, se puede ver que no hay ninguna columna [SK] causada por el error. Primero debe averiguar qué paso causó el error.

    (2) Luego, para soluciones sin columnas SK, puede intentar usar la función Table.ColumnNames() para obtener dinámicamente los nombres de columna que necesita para eliminar la aparición de este error.

    Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

    Saludos

    Aniya Zhang

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

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hi, @Chrisjr

      Gracias por su respuesta quck y su excel que proporcionó. ¿Puede compartir el código M "Editor avanzado" que ahora usó porque no entiendo completamente cuáles son los pasos que desea obtener y los datos finales que desea mostrar?

      ¿O puede explicarnos los pasos detallados para combinar los tres excel y el resultado final al final?

      Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

      Saludos

      Aniya Zhang

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

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        @v-yueyunzh-msft gracias por la respuesta

        Ver el enlace : https://drive.google.com/file/d/1FnDvSAl9Vu5f1ZdawJmymVa33K_VLKAC/view?usp=share_link

        paso: invoco el archivo de ejemplo de transformación 5 desde la columna invoke custom

        Entonces me sale un error en el nuevo colun

        Aquí está el código m:

        dejar
        Source = Folder.Files("C:\Users\Christian Jadoul\SynologyDrive\Skoda\PSK"),
        #"Filas filtradas" = Table.SelectRows(Origen, cada ([Extensión] = ".xlsx")),
        #"Filas filtradas1" = Table.SelectRows(#"Filas filtradas", cada [Fecha de modificación] > #datetime(2021, 12, 1, 0, 0, 0)),
        #"Filas filtradas2" = Table.SelectRows(#"Filas filtradas1", cada una no Text.Contiene([Nombre], "FLOTA")),
        #"Filas filtradas3" = Table.SelectRows(#"Filas filtradas2", cada una no Text.Contiene([Ruta de carpeta], "Fábrica PSK")),
        #"Filas filtradas4" = Table.SelectRows(#"Filas filtradas3", cada una no Text.Contiene([Ruta de carpeta], "FLEET")),
        #"Filas filtradas5" = Table.SelectRows(#"Filas filtradas4", cada una no Text.Contiene([Ruta de carpeta], "Flota")),
        Custom1 = Table.SelectRows(#"Filas filtradas5", cada [Atributos]?[ ¿Oculto]? <> verdadero),
        #"Archivos ocultos filtrados1" = Table.SelectRows(Custom1, each [Atributos]?[ ¿Oculto]? <> verdadero),
        #"Invoked Custom Function" = Table.AddColumn(#"Archivos ocultos filtrados1", "Transformar archivo (5)", cada #"Transformar archivo (5)"([Contenido]))
        en
        #"Función personalizada invocada"

        Y el código M después expandió la columna:

        dejar
        Source = Folder.Files("C:\Users\Christian Jadoul\SynologyDrive\Skoda\PSK"),
        #"Filas filtradas" = Table.SelectRows(Origen, cada ([Extensión] = ".xlsx")),
        #"Filas filtradas1" = Table.SelectRows(#"Filas filtradas", cada [Fecha de modificación] > #datetime(2021, 12, 1, 0, 0, 0)),
        #"Filas filtradas2" = Table.SelectRows(#"Filas filtradas1", cada una no Text.Contiene([Nombre], "FLOTA")),
        #"Filas filtradas3" = Table.SelectRows(#"Filas filtradas2", cada una no Text.Contiene([Ruta de carpeta], "Fábrica PSK")),
        #"Filas filtradas4" = Table.SelectRows(#"Filas filtradas3", cada una no Text.Contiene([Ruta de carpeta], "FLEET")),
        #"Filas filtradas5" = Table.SelectRows(#"Filas filtradas4", cada una no Text.Contiene([Ruta de carpeta], "Flota")),
        Custom1 = Table.SelectRows(#"Filas filtradas5", cada [Atributos]?[ ¿Oculto]? <> verdadero),
        #"Archivos ocultos filtrados1" = Table.SelectRows(Custom1, each [Atributos]?[ ¿Oculto]? <> verdadero),
        #"Invoked Custom Function" = Table.AddColumn(#"Archivos ocultos filtrados1", "Transformar archivo (5)", cada #"Transformar archivo (5)"([Contenido])),
        #"Archivo de transformación expandido (5)" = Table.ExpandTableColumn(#"Función personalizada invocada", "Archivo de transformación (5)", {"ReferenceCarVersion", "CarModel", "CarVersion", "IndexType", "Index.1", "Value"}, {"Transformar archivo (5). ReferenceCarVersion", "Transformar archivo (5). CarModel", "Transformar archivo (5). CarVersion", "Transformar archivo (5). IndexType", "Transformar archivo (5). Index.1", "Transformar archivo (5). Valor"})
        en
        #"Archivo de transformación expandido (5)"

        La carpeta de origen tiene muchos archivos de Excel con la misma estructura. Sin embargo, la fila 1 de cada archivo de Excel puede tener un nombre diferente.