Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Power Query

Estoy intentando cambiar el nombre de las columnas antes de expandir la tabla. He conectado power query a la carpeta que tiene archivos de Excel.

He fusionado una nueva columna que tiene 2 columnas Antes (Nombre de columna anterior) y Después (Nombre de columna requerido).

Estoy tratando de aplicar la fórmula a continuación, pero no estoy seguro de que esta sea la forma correcta de aplicar esta fórmula.

Table.AddColumn(#"Expanded SheetName", "NewTableData", cada Table.TransformColumnNames ([Data], cada List.Accumulate(
Table.ToRecords([NewColumn]), _ , (state,current)=> Text.Replace(state,current[Before],current[After])))))

Mensaje de error: Expression.Error: No podemos aplicar el acceso de campo al tipo Text.

Imagen 1: Esta es la tabla de datos real

chandankumar_0-1649947122543.png

Imagen 2: Nueva columna es una columna que combina 2 columnas Antes (Nombre de columna anterior) y Después (Nombre de columna requerido)

chandankumar_2-1649947514584.png

  • @chandankumar ,

    Creo que debería haber datos de formato de texto en [NewColumn]. La función List.Accumulate calculará el valor en formato de número. Por lo tanto, su código devolverá el error como se mencionó anteriormente.

    Creo que puede usar la función Try para capturar Error, o puede cambiar el tipo [NewColumn] a número y reemplazar el Error en esta columna primero.

    Para referencia:

    Manejo de errores

    Manejo de errores

    Saludos
    Rico Zhou

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

2 Replies

  • "Estoy intentando cambiar el nombre de las columnas antes de expandir la tabla"

    ¿Realmente te importa si haces eso antes en lugar de después? Suena como demasiada sobrecarga para hacerlo antes (una vez para cada tabla) cuando puede hacerlo una vez (para el resultado adjunto).

  • @chandankumar ,

    Creo que debería haber datos de formato de texto en [NewColumn]. La función List.Accumulate calculará el valor en formato de número. Por lo tanto, su código devolverá el error como se mencionó anteriormente.

    Creo que puede usar la función Try para capturar Error, o puede cambiar el tipo [NewColumn] a número y reemplazar el Error en esta columna primero.

    Para referencia:

    Manejo de errores

    Manejo de errores

    Saludos
    Rico Zhou

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