Forum Discussion
Anonymous
3 years agoNot applicable
Summarize table by column
Hi, I have the next table, where I have quarters and past due data. Instead of having multiple rows with "Qtr 2 2022, Qtr 3 2023, Qtr 1 2019, etc..." I want to sum the total value of each one, how ca...
- 3 years ago
So try this.
Right click create new query >> blank query
Go to 'Advanced Editor' for this query and select all and paste in the below.
Then follow these steps again for option 2. Pick the one that works best for you. I think option 2.
Option 1
let Source = Table.FromRows( Json.Document( Binary.Decompress( Binary.FromText( "i45WCjRUMDIwMlSAAkOlWJ1oJTBBlowRSMYAJmNKhgxu00yQZIxBMkZwPQbkSKE4Ao+UCYorUBxILalYAA==", BinaryEncoding.Base64 ), Compression.Deflate ) ), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t] ), #"Filtered Rows" = Table.SelectRows(Source, each ([Column1] <> "")), #"Extracted First Characters" = Table.TransformColumns( #"Filtered Rows", {{"Column1", each Text.Start(_, 7), type text}} ), #"Renamed Columns" = Table.RenameColumns(#"Extracted First Characters", {{"Column1", "Quarter"}}), #"1" = Table.AddColumn(#"Renamed Columns", "1", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"2" = Table.AddColumn(#"1", "2", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"3" = Table.AddColumn(#"2", "3", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"4" = Table.AddColumn(#"3", "4", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"5" = Table.AddColumn(#"4", "5", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"Grouped Rows" = Table.Group( #"5", {"Quarter"}, { {"1", each List.Sum([1]), type number}, {"2", each List.Sum([2]), type number}, {"3", each List.Sum([3]), type number}, {"4", each List.Sum([4]), type number}, {"5", each List.Sum([5]), type number} } ) in #"Grouped Rows"Option 2
let Source = Table.FromRows( Json.Document( Binary.Decompress( Binary.FromText( "i45WCjRUMDIwMlSAAkOlWJ1oJTBBlowRSMYAJmNKhgxu00yQZIxBMkZwPQbkSKE4Ao+UCYorUBxILalYAA==", BinaryEncoding.Base64 ), Compression.Deflate ) ), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t] ), #"Filtered Rows" = Table.SelectRows(Source, each ([Column1] <> "")), #"Extracted First Characters" = Table.TransformColumns( #"Filtered Rows", {{"Column1", each Text.Start(_, 7), type text}} ), #"Renamed Columns" = Table.RenameColumns(#"Extracted First Characters", {{"Column1", "Quarter"}}), #"1" = Table.AddColumn(#"Renamed Columns", "1", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"2" = Table.AddColumn(#"1", "2", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"3" = Table.AddColumn(#"2", "3", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"4" = Table.AddColumn(#"3", "4", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"5" = Table.AddColumn(#"4", "5", each Number.RandomBetween(0.5, 15.3), Decimal.Type), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"5", {"Quarter"}, "Attribute", "Value"), #"Grouped Rows" = Table.Group( #"Unpivoted Other Columns", {"Quarter", "Attribute"}, {{"v", each List.Sum([Value]), type number}} ) in #"Grouped Rows"I think this should give you a better understanding of what I was trying to explain.
KNP
3 years agoSuper User
So try this.
Right click create new query >> blank query
Go to 'Advanced Editor' for this query and select all and paste in the below.
Then follow these steps again for option 2. Pick the one that works best for you. I think option 2.
Option 1
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45WCjRUMDIwMlSAAkOlWJ1oJTBBlowRSMYAJmNKhgxu00yQZIxBMkZwPQbkSKE4Ao+UCYorUBxILalYAA==",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [Column1 = _t]
),
#"Filtered Rows" = Table.SelectRows(Source, each ([Column1] <> "")),
#"Extracted First Characters" = Table.TransformColumns(
#"Filtered Rows", {{"Column1", each Text.Start(_, 7), type text}}
),
#"Renamed Columns" = Table.RenameColumns(#"Extracted First Characters", {{"Column1", "Quarter"}}),
#"1" = Table.AddColumn(#"Renamed Columns", "1", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"2" = Table.AddColumn(#"1", "2", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"3" = Table.AddColumn(#"2", "3", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"4" = Table.AddColumn(#"3", "4", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"5" = Table.AddColumn(#"4", "5", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"Grouped Rows" = Table.Group(
#"5",
{"Quarter"},
{
{"1", each List.Sum([1]), type number},
{"2", each List.Sum([2]), type number},
{"3", each List.Sum([3]), type number},
{"4", each List.Sum([4]), type number},
{"5", each List.Sum([5]), type number}
}
)
in
#"Grouped Rows"
Option 2
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45WCjRUMDIwMlSAAkOlWJ1oJTBBlowRSMYAJmNKhgxu00yQZIxBMkZwPQbkSKE4Ao+UCYorUBxILalYAA==",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [Column1 = _t]
),
#"Filtered Rows" = Table.SelectRows(Source, each ([Column1] <> "")),
#"Extracted First Characters" = Table.TransformColumns(
#"Filtered Rows", {{"Column1", each Text.Start(_, 7), type text}}
),
#"Renamed Columns" = Table.RenameColumns(#"Extracted First Characters", {{"Column1", "Quarter"}}),
#"1" = Table.AddColumn(#"Renamed Columns", "1", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"2" = Table.AddColumn(#"1", "2", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"3" = Table.AddColumn(#"2", "3", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"4" = Table.AddColumn(#"3", "4", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"5" = Table.AddColumn(#"4", "5", each Number.RandomBetween(0.5, 15.3), Decimal.Type),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"5", {"Quarter"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(
#"Unpivoted Other Columns", {"Quarter", "Attribute"}, {{"v", each List.Sum([Value]), type number}}
)
in
#"Grouped Rows"
I think this should give you a better understanding of what I was trying to explain.