Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Group Data by number of rows

Hello my PBI friends

 

Odd question, here. I have table that includes the following data, sorting State+County in ascending order:

 

StateCountyState+CountyIndex
ArkansasBradleyArkansas Bradley1
ArkansasCalhounArkansas Calhoun2
ArkansasChicotArkansas Chicot3
ArkansasClarkArkansas Clark4
ArkansasClayArkansas Clay5
ArkansasCraigheadArkansas Craighead6
ArkansasCrossArkansas Cross7
ArkansasDeshaArkansas Desha8
ArkansasGreeneArkansas Greene9
ArkansasHempsteadArkansas Hempstead10
ArkansasIzardArkansas Izard11
ArkansasJeffersonArkansas Jefferson12
ArkansasLeeArkansas Lee13
ArkansasLincolnArkansas Lincoln14
ArkansasMillerArkansas Miller15

 

I want to add a new "Group" column and group them so that the first five (Index 1 - 5) are group "1", second five (Index 6 - 10) are group "2" and so forth, like this:

 

StateCountyState+CountyIndexGroup
ArkansasBradleyArkansas Bradley11
ArkansasCalhounArkansas Calhoun21
ArkansasChicotArkansas Chicot31
ArkansasClarkArkansas Clark41
ArkansasClayArkansas Clay51
ArkansasCraigheadArkansas Craighead62
ArkansasCrossArkansas Cross72
ArkansasDeshaArkansas Desha82
ArkansasGreeneArkansas Greene92
ArkansasHempsteadArkansas Hempstead102
ArkansasIzardArkansas Izard113
ArkansasJeffersonArkansas Jefferson123
ArkansasLeeArkansas Lee133
ArkansasLincolnArkansas Lincoln143
ArkansasMillerArkansas Miller153

 

I tried a few different things but I could not figure out how to get it the way I need it. 

 

Any ideas?

 

Thank you!!

  • Anonymous 

    Create a blank Query, go to the Advanced Editor, clear the existing code, and paste the codes give below and follow the steps.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bdHJDsIgEIDhVzFc9SDuHrUmLtGTx8bDxE6FiGAAE/XprQsti7fO3w9CMnlO9hYskg7J1E3aR/XxCe16XMsC7+TQyclMn0EaMFWcaygEvn+72GoSjXUGglXX+bpJvUQzflQ2wK70EytAnwP6C4M/8hHB9zxMnAZ+YghFgL04Sk8oY0L9DeNYLtAw8KULk1guNaJEn9ZlGtsVXq7GRi/2I+3GR9ZP0AF3gSa722BZojYq2J4fabLALQYv/4402d2Wy6MSwb1NoskCd1wI1L6uC622eHgB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"(blank)" = _t, #"(blank).1" = _t, #"(blank).2" = _t, #"(blank).3" = _t]),
        #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Index", Int64.Type}}),
        #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index.1", 0, 1, Int64.Type),
        #"Integer-Divided Column" = Table.TransformColumns(#"Added Index", {{"Index.1", each Number.IntegerDivide(_, 5), Int64.Type}}),
        #"Added to Column" = Table.TransformColumns(#"Integer-Divided Column", {{"Index.1", each _ + 1, type number}})
    in
        #"Added to Column"

2 Replies

  • Anonymous 

    Create a blank Query, go to the Advanced Editor, clear the existing code, and paste the codes give below and follow the steps.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bdHJDsIgEIDhVzFc9SDuHrUmLtGTx8bDxE6FiGAAE/XprQsti7fO3w9CMnlO9hYskg7J1E3aR/XxCe16XMsC7+TQyclMn0EaMFWcaygEvn+72GoSjXUGglXX+bpJvUQzflQ2wK70EytAnwP6C4M/8hHB9zxMnAZ+YghFgL04Sk8oY0L9DeNYLtAw8KULk1guNaJEn9ZlGtsVXq7GRi/2I+3GR9ZP0AF3gSa722BZojYq2J4fabLALQYv/4402d2Wy6MSwb1NoskCd1wI1L6uC622eHgB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"(blank)" = _t, #"(blank).1" = _t, #"(blank).2" = _t, #"(blank).3" = _t]),
        #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Index", Int64.Type}}),
        #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index.1", 0, 1, Int64.Type),
        #"Integer-Divided Column" = Table.TransformColumns(#"Added Index", {{"Index.1", each Number.IntegerDivide(_, 5), Int64.Type}}),
        #"Added to Column" = Table.TransformColumns(#"Integer-Divided Column", {{"Index.1", each _ + 1, type number}})
    in
        #"Added to Column"
    • Anonymous's avatar
      Anonymous
      Not applicable

      Fowmy Excellent, I added the Integer-Divided Column and Added to Column steps and it worked perfectly! Thank you!!