let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("XdDJDcAgDATAXnhHwgdnLSj9txESCIv5WRqvwW7NZc9eiIu7eqmzvq/mCqB4pR10STXChEyvD0KKe1U349XaTcwveEysr8yuOkGXiJcCUUR0Nb0QAMHMioB4AB5JRjIi+QBEylyz/nejX6rdhbYt6STM4+MEssXErDrOJoSz9Xo72ycyvjdFEdHVhLN9EMysCIgmkQAJifsB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [PeriodStart = _t, PeriodEnd = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"PeriodStart", type date}, {"PeriodEnd", type date}}), #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type), #"Added Custom" = Table.AddColumn(#"Added Index", "Date", each List.Transform({Number.From([PeriodStart]) ..Number.From([PeriodEnd])}, each Date.From(_))), #"Expanded Date" = Table.ExpandListColumn(#"Added Custom", "Date"), #"Changed Date Type" = Table.TransformColumnTypes(#"Expanded Date",{{"Date", type date}}), #"Added Custom1" = Table.AddColumn(#"Changed Date Type", "PeriodNum", each if Number.Mod([Index], 12) = 0 then 12 else Number.Mod([Index], 12)), #"Added Custom2" = Table.AddColumn(#"Added Custom1", "PeriodName", each fnSwitchPeriodNumToName([PeriodNum])), #"Added Custom3" = Table.AddColumn(#"Added Custom2", "Period", each Text.Combine({Text.PadStart(Number.ToText([PeriodNum]),2,"0"),[PeriodName]}, "-")), #"Added Custom4" = Table.AddColumn(#"Added Custom3", "Fiscal Year", each if [PeriodNum] >= 7 then Date.Year([Date]) - 1 else Date.Year([Date])), #"Removed Columns" = Table.RemoveColumns(#"Added Custom4",{"PeriodStart", "PeriodEnd", "PeriodNum", "PeriodName"}), #"Added Custom5" = Table.AddColumn(#"Removed Columns", "Calendar Period", each Text.Combine({Text.PadStart(Text.From(Date.Month([Date])),2,"0"), Text.Start(Date.MonthName([Date]),3)},"-")), #"Inserted Year" = Table.AddColumn(#"Added Custom5", "Calendar Year", each Date.Year([Date]), Int64.Type) in #"Inserted Year"