Forum Discussion

Hooi_livenow's avatar
Hooi_livenow
Frequent Visitor
4 years ago
Solved

How to caculate the add value in one column

Dear all, 

 

I have data as per the screenshot below. And I would like to create a new column with the total value of this month + last month Example the total receivable in 12/1/2021+ Total Receivable 11/1/2021. How can I do that in Power Query editor or using Dax formula? 

 

 

Thanks in advance~ 

 

Regards, Hooi 

  • See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("TczBDQAhCETRXjibuDOI2oux/zYkcGCvLz//HAE6Oj9CmizKbU4sMiSl0EU1hCXcIfqTbEbJyo+VTAuZJXC5Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Document Date" = _t, #"Total Receiveable by Month" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Document Date", type date}, {"Total Receiveable by Month", Int64.Type}}),
        #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
        #"Added Custom" = Table.AddColumn(#"Added Index", "Total", each if [Index]=0 then [Total Receiveable by Month] else [Total Receiveable by Month]+#"Added Index"[Total Receiveable by Month]{[Index]-1}, type number),
        #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index"})
    in
        #"Removed Columns"

     If performance is a consideration

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("TczBDQAhCETRXjibuDOI2oux/zYkcGCvLz//HAE6Oj9CmizKbU4sMiSl0EU1hCXcIfqTbEbJyo+VTAuZJXC5Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Document Date" = _t, #"Total Receiveable by Month" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Document Date", type date}, {"Total Receiveable by Month", Int64.Type}}),
        BuffList = #"Changed Type"[Total Receiveable by Month],
        GenListOfTotal = List.Generate(()=>[x=BuffList{0},y=0], each [y]<List.Count(BuffList), each [y=[y]+1, x=BuffList{[y]}+BuffList{y}], each [x]),
        Result = Table.FromColumns(Table.ToColumns(#"Changed Type") & {GenListOfTotal},Table.ColumnNames(#"Changed Type")&{"Total"})
    in
        Result

1 Reply

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Icon for Most Valuable Professional rankMost Valuable Professional

    See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("TczBDQAhCETRXjibuDOI2oux/zYkcGCvLz//HAE6Oj9CmizKbU4sMiSl0EU1hCXcIfqTbEbJyo+VTAuZJXC5Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Document Date" = _t, #"Total Receiveable by Month" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Document Date", type date}, {"Total Receiveable by Month", Int64.Type}}),
        #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
        #"Added Custom" = Table.AddColumn(#"Added Index", "Total", each if [Index]=0 then [Total Receiveable by Month] else [Total Receiveable by Month]+#"Added Index"[Total Receiveable by Month]{[Index]-1}, type number),
        #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index"})
    in
        #"Removed Columns"

     If performance is a consideration

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("TczBDQAhCETRXjibuDOI2oux/zYkcGCvLz//HAE6Oj9CmizKbU4sMiSl0EU1hCXcIfqTbEbJyo+VTAuZJXC5Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Document Date" = _t, #"Total Receiveable by Month" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Document Date", type date}, {"Total Receiveable by Month", Int64.Type}}),
        BuffList = #"Changed Type"[Total Receiveable by Month],
        GenListOfTotal = List.Generate(()=>[x=BuffList{0},y=0], each [y]<List.Count(BuffList), each [y=[y]+1, x=BuffList{[y]}+BuffList{y}], each [x]),
        Result = Table.FromColumns(Table.ToColumns(#"Changed Type") & {GenListOfTotal},Table.ColumnNames(#"Changed Type")&{"Total"})
    in
        Result