Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Dynamic - Grouping by a Measure column - combining the text values

I have a table "School" : School Class Names Counts c1 XXX 1 c1 YYY 2 c2 ZZZ 3 c2 AAA 4 c3 AAA 2 c3 BBB 3 c4 BBB 2 c5 CCC 0 c5 CCC 1 c5 D...
  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi Anonymous ,

     

    When you complete this step, write the following statement in the advanced editor, then sort in descending order and add an index column. The index column is your Rank column.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("XctLCsAgDEXRvWTsoH7auVFcg4k46v730AeKgU4uj0MyBr2eHPXeUU/TbRARNCwImKqKRoOcM5oWxAPBgJntJR3YFzdmKQW9/uANaq328mC21tbF/AA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Class = _t, Names = _t, Counts = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Class", type text}, {"Names", type text}, {"Counts", Int64.Type}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Names"}, {{"Total counts", each List.Sum([Counts]), type nullable number}}),
        #"Combined Values"= Table.Group(#"Grouped Rows" , {"Total counts"}, {{"Combine Values", each Text.Combine([Names], ","), type text}}),
        #"Sorted Rows" = Table.Sort(#"Combined Values",{{"Total counts", Order.Descending}}),
        #"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
        #"Renamed Columns" = Table.RenameColumns(#"Added Index",{{"Index", "Rank"}})
    in
        #"Renamed Columns"

     

     

    Best Regards,

    Stephen Tao

     

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