Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.

Reply
Glenn_2022
New Member

How to calculate and insert number of Columns as a Column in a Table

Hello all,

 

Hope you are well.

Would kindly need some advice on the below:

 

Glenn_2022_0-1657336622570.png

 

Need to put in the Yellow and Green columns in a Matrix table in Power BI dashboaard.

Yellow: Count of Columns (Outlet in this case) that as values for the particular Row

Green: Average Sales per outlet for each Row (based on # of outlets).

 

Any help is very much appreciated. Thank you!

 

Glenn

1 ACCEPTED SOLUTION
Kishore_Kadhir
Resolver II
Resolver II

Hi @Glenn_2022 

 

Please open your advanced editor from power query and paste the below M code

Kishore_Kadhir_0-1657356305837.png

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCijKTylNLlEwVNJRMjQwQCFjdSDyyaUlCkZAMSOwDIRUio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Sales = _t, #"outlet1 " = _t, outlet2 = _t, outlet3 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Sales", type text}, {"outlet1 ", Int64.Type}, {"outlet2", Int64.Type}, {"outlet3", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Table.ColumnNames(#"Changed Type")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Custom"}),
#"Unpivoted Only Selected Columns" = Table.Unpivot(#"Removed Columns", {"outlet1 ", "outlet2", "outlet3"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Only Selected Columns", {"Sales"}, {{"All", each _, type table [Sales=nullable text, Attribute=text, Value=number]}}),
#"Added Custom3" = Table.AddColumn(#"Grouped Rows", "Average Value", each List.Average([All][Value])),
#"Added Custom1" = Table.AddColumn(#"Added Custom3", "Count", each Table.RowCount([All])),
#"Removed Columns1" = Table.RemoveColumns(#"Added Custom1",{"All"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Columns1", {"Sales"}, #"Removed Columns", {"Sales"}, "Sales (2)", JoinKind.LeftOuter),
#"Expanded Sales (2)" = Table.ExpandTableColumn(#"Merged Queries", "Sales (2)", {"outlet1 ", "outlet2", "outlet3"}, {"outlet1 ", "outlet2", "outlet3"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Sales (2)",{"Sales", "outlet1 ", "outlet2", "outlet3", "Average Value", "Count"})
in
#"Reordered Columns"

Hope it helps.

 

Regards,

Kishore

View solution in original post

1 REPLY 1
Kishore_Kadhir
Resolver II
Resolver II

Hi @Glenn_2022 

 

Please open your advanced editor from power query and paste the below M code

Kishore_Kadhir_0-1657356305837.png

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCijKTylNLlEwVNJRMjQwQCFjdSDyyaUlCkZAMSOwDIRUio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Sales = _t, #"outlet1 " = _t, outlet2 = _t, outlet3 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Sales", type text}, {"outlet1 ", Int64.Type}, {"outlet2", Int64.Type}, {"outlet3", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Table.ColumnNames(#"Changed Type")),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Custom"}),
#"Unpivoted Only Selected Columns" = Table.Unpivot(#"Removed Columns", {"outlet1 ", "outlet2", "outlet3"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Only Selected Columns", {"Sales"}, {{"All", each _, type table [Sales=nullable text, Attribute=text, Value=number]}}),
#"Added Custom3" = Table.AddColumn(#"Grouped Rows", "Average Value", each List.Average([All][Value])),
#"Added Custom1" = Table.AddColumn(#"Added Custom3", "Count", each Table.RowCount([All])),
#"Removed Columns1" = Table.RemoveColumns(#"Added Custom1",{"All"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Columns1", {"Sales"}, #"Removed Columns", {"Sales"}, "Sales (2)", JoinKind.LeftOuter),
#"Expanded Sales (2)" = Table.ExpandTableColumn(#"Merged Queries", "Sales (2)", {"outlet1 ", "outlet2", "outlet3"}, {"outlet1 ", "outlet2", "outlet3"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Sales (2)",{"Sales", "outlet1 ", "outlet2", "outlet3", "Average Value", "Count"})
in
#"Reordered Columns"

Hope it helps.

 

Regards,

Kishore

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.