Forum Discussion

kikobi23's avatar
kikobi23
New Member
2 years ago
Solved

CALCULATIONPOWERQUERY

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi kikobi23 

    Accroading the picture you have provided, do you want to calculate the value of the min id of each account?

    e.g the min id of the accout 1 is 100, the min id of the account 2 is 130?

    if you want to implement this, you can create a blank query and input the following code to advanced editor.

    Sample data 

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTI0MACRRqZKsTpQEUOwiDmSiJEBVCVIxAjENgaLmBkhREwgagwRIqYgESMTE6XYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Account = _t, ID = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Account", Int64.Type}, {"ID", Int64.Type}, {"Value", Int64.Type}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Account"}, {{"MinID", each List.Min([ID]), type nullable number}, {"Data", each _, type table [Account=nullable number, ID=nullable number, Value=nullable number]}}),
        #"Expanded Data" = Table.ExpandTableColumn(#"Grouped Rows", "Data", {"ID", "Value"}, {"ID", "Value"}),
        #"Added Custom" = Table.AddColumn(#"Expanded Data", "RelatedValue", each List.Min(Table.SelectRows(#"Expanded Data",(x)=>x[Account]=[Account] and x[ID]=[MinID])[Value])),
        #"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"Account", "ID", "Value", "MinID", "RelatedValue"})
    in
        #"Reordered Columns"

     

    Output

     

    If the solution above cannot meet your requirment, can you provide some sample data and the output you want? 

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi kikobi23 

    Accroading the picture you have provided, do you want to calculate the value of the min id of each account?

    e.g the min id of the accout 1 is 100, the min id of the account 2 is 130?

    if you want to implement this, you can create a blank query and input the following code to advanced editor.

    Sample data 

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTI0MACRRqZKsTpQEUOwiDmSiJEBVCVIxAjENgaLmBkhREwgagwRIqYgESMTE6XYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Account = _t, ID = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Account", Int64.Type}, {"ID", Int64.Type}, {"Value", Int64.Type}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Account"}, {{"MinID", each List.Min([ID]), type nullable number}, {"Data", each _, type table [Account=nullable number, ID=nullable number, Value=nullable number]}}),
        #"Expanded Data" = Table.ExpandTableColumn(#"Grouped Rows", "Data", {"ID", "Value"}, {"ID", "Value"}),
        #"Added Custom" = Table.AddColumn(#"Expanded Data", "RelatedValue", each List.Min(Table.SelectRows(#"Expanded Data",(x)=>x[Account]=[Account] and x[ID]=[MinID])[Value])),
        #"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"Account", "ID", "Value", "MinID", "RelatedValue"})
    in
        #"Reordered Columns"

     

    Output

     

    If the solution above cannot meet your requirment, can you provide some sample data and the output you want? 

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.