Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Dynamic unpivot of columns in Power Query

Hi,

I am using the function = Table.Unpivot(#"Filtered Rows1", {"x","y","z"...}, "Attribute", "Value") to unpivot a table by those selected rows.

 

However, they are input values and will change and when they change I get the error that a column header is missing.

How do I write this in a way that -instead of listing out the column headings to unpivot {"x","y","z"...}, I can select all columns beginning with column 4 to the end.  Is it doable?

Regards

  • Something like:

    = Table.Unpivot(#"Filtered Rows1", List.RemoveFirstN(Table.ColumnNames(#"Filtered Rows1"),3), "Attribute", "Value") 

3 Replies

  • Hi Anonymous ,

     

    Flip the operation on its head: Select all the columns you DON'T want to unpivot, then go to Transform tab > Unpivot Columns (dropdown) > Unpivot OTHER columns.

     

    This will generate code like this instead:

    Table.UnpivotOtherColumns(previousStep, {"fixedColumnA", "fixdColumnB"}, "Attribute", "Value")

     

    Pete

  • Something like:

    = Table.Unpivot(#"Filtered Rows1", List.RemoveFirstN(Table.ColumnNames(#"Filtered Rows1"),3), "Attribute", "Value")