Unpivot Month Columns in Power Query M

Unpivots only the columns that look like month names, leaving key columns like ID or Region untouched.

Table TransformationsIntermediateunpivotmonthsreshape

Power Query M code

let
    Source = YourTable,
    MonthNames = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"},
    MonthColumns = List.Select(Table.ColumnNames(Source), each List.Contains(MonthNames, _)),
    Unpivoted = Table.UnpivotOtherColumns(Source, List.RemoveItems(Table.ColumnNames(Source), MonthColumns), "Month", "Value")
in
    Unpivoted

Notes

Adjust MonthNames to match how the month columns are labeled in your source (e.g. "January" or "2026-01").

Requirements

How to use this snippet

  1. In Power BI Desktop, choose Transform data to open Power Query, then open the Advanced Editor on a query (or start from a blank query).
  2. Paste the snippet and replace the placeholder names (tables, columns, file paths) with your own. Check the requirements above first.
  3. Run it through the Power Query M Formatter to tidy the layout.

Related Power Query M snippets

More Power Query M resources

Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to Unpivot Month Columns.