Add Multiple Columns at One Step - Power Query
- V E Meganathan
- 2 days ago
- 1 min read
The input table includes a Date column.
The objective is to add Multiple columns simultaneously, including Year, Quarter, and Month.

Method-1:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
ChType = Table.TransformColumnTypes(Source,{{"Date", type date}}),
Result = Table.SplitColumn(ChType, "Date", each {_, Date.Year(_), Date.QuarterOfYear( ), Date.ToText(,"MMM")}, { "Date","Year","Qtr","Month" })
in
Result
Method-2:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
ChType = Table.TransformColumnTypes(Source,{{"Date", type date}}),
Result = Table.FromList(ChType[Date], each {_, Date.Year(_), "Q" & Text.From(Date.QuarterOfYear(_)), Text.Start(Date.MonthName(_), 3 )}, type table [Date = date, Year = number, Qtr = text, Month = text])
in
Result
Method-3:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
ChType = Table.TransformColumnTypes(Source,{{"Date", type date}}),
Result = Table.FromRecords(Table.TransformRows(ChType, each _ & [Year = Date.Year([Date]), Qtr = "Q" & Text.From(Date.QuarterOfYear([Date])), Month = Date.ToText([Date],"MMM") ]))
in
Result
Method-4 proposed by Arnaud Duvernois:
let
Source = MyTable,
List = List.TransformMany(Source[Date] , (x)=> {Date.From(x)} , (x,y)=> {y , Date.Year(y),"Q"&Text.From(Date.QuarterOfYear(y)),Date.ToText(y,"MMM") } ),
Tbl = Table.FromRows( List , {"Date","Year","Qtr","Month"})
in
Tbl
Method-5 Proposed by my Mentor
Yaroslav Drohomyretskyi :
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Logic = Table.AddColumn(Source, "x", each [Year = Date.Year([Date]), Qtr = "Q" & Text.From(Date.QuarterOfYear([Date])), Month = Text.Start(Date.MonthName([Date]),3)]),
Result = Table.ExpandRecordColumn(Logic, "x", Record.FieldNames(Logic{0}[x]))
in
Result





Comments