Forum Discussion
GokilaRaviraj
1 year agoHelper II
Copy and paste entire column value to another column
Hi , Currently my input table looks like this, I am fetching current month + remaining months of the year+ next year all the months. This is the logic to fetch months every time. These months I am...
- 1 year ago
Hi GokilaRaviraj, check this:
Output
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTI0ABJGIMIYRJiACAWKcKxOtJITzUx2po3JsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [company = _t, #"estimate q1" = _t, #"estimate q2" = _t, #"estimate q3" = _t, #"estimate q4" = _t, Sep_cfy = _t, Oct_cfy = _t, Nov_cfy = _t, Dec_Cfy = _t, #"Jan _NFY" = _t, Feb_NFY = _t, Mar_NFY = _t, Apr_NFY = _t, May_NFY = _t, Jun_NFY = _t, Jul_NFY = _t, Aug_NFY = _t, Sep_NFY = _t, Oct_NFY = _t, Nov_NFY = _t, Dec_NFY = _t]), // You can probably delete this step when applying on real data. ReplacedValue = Table.ReplaceValue(Source," ",null,Replacer.ReplaceValue, Table.ColumnNames(Source)), MonthColNames = List.Buffer(List.Select(Table.ColumnNames(ReplacedValue), each List.Contains({"cfy", "nfy"}, _, (x,y)=> Text.EndsWith(y, x, Comparer.OrdinalIgnoreCase)))), ChangedType = Table.TransformColumnTypes(ReplacedValue,{{"estimate q1", type number}, {"estimate q2", type number}, {"estimate q3", type number}, {"estimate q4", type number}}), ReplacedValue1 = Table.ReplaceValue(ChangedType,null,"0",Replacer.ReplaceValue, MonthColNames), Unpivoted = Table.Unpivot(ReplacedValue1, MonthColNames, "Year_Month", "Value"), YearMonthCorrectFormat = Table.TransformColumns(Unpivoted, {{"Year_Month", each Text.Combine(List.Transform(List.ReplaceMatchingItems(Text.Split(_, "_"), {{"cfy", DateTime.ToText(DateTime.FixedLocalNow(), "yyyy")}, {"nfy", DateTime.ToText(Date.AddYears(DateTime.FixedLocalNow(), 1), "yyyy")}}, Comparer.OrdinalIgnoreCase), Text.Trim), "_"), type text}}), Ad_Quarter = Table.AddColumn(YearMonthCorrectFormat, "Quarter", each "q" & Text.From(Date.QuarterOfYear(Date.FromText("01_" & [Year_Month], [Format="dd_MMM_yyyy", Culture="en-US"]))), type text), Ad_QuarterValue = [ a = List.Buffer(Table.ColumnNames(Ad_Quarter)), b = Table.AddColumn(Ad_Quarter, "Quarter Value", each Record.ToList(Record.SelectFields(_, List.Select(a, (x)=> Text.EndsWith(x, [Quarter], Comparer.OrdinalIgnoreCase)))){0}?, type number) ][b], RemovedColumns = Table.RemoveColumns(Ad_QuarterValue,{"Value", "Quarter"}), Pivoted = Table.Pivot(RemovedColumns, List.Distinct(RemovedColumns[Year_Month]), "Year_Month", "Quarter Value", List.Sum) in Pivoted
AnkitKukreja
1 year agoSuper User
- GokilaRaviraj1 year agoHelper II
Sample Input
company estimate q1 estimate q2 estimate q3 estimate q4 Sep_cfy Oct_cfy Nov_cfy Dec_Cfy Jan _NFY Feb_NFY Mar_NFY Apr_NFY May_NFY Jun_NFY Jul_NFY Aug_NFY Sep_NFY Oct_NFY Nov_NFY Dec_NFY A 10 20 30 40 B 10 20 30 40 C 10 20 30 40 This month logic gets changes every starting of the month as i mentioned above.
Sample output
company estimate q1 estimate q2 estimate q3 estimate q4 Sep_cfy Oct_cfy Nov_cfy Dec_Cfy Jan _NFY Feb_NFY Mar_NFY Apr_NFY May_NFY Jun_NFY Jul_NFY Aug_NFY Sep_NFY Oct_NFY Nov_NFY Dec_FY A 10 20 30 40 30 40 40 40 10 10 10 20 20 20 30 30 30 40 40 40 B 10 20 30 40 30 40 40 40 10 10 10 20 20 20 30 30 30 40 40 40 C 10 20 30 40 30 40 40 40 10 10 10 20 20 20 30 30 30 40 40 40