Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi All,
I have a data with more than 2k activities in and with a column [Code for Area]. I need to group them by [Code for Area] and add a subtotal rows at the beginning of each group with Gruop Name. For example add subtotal row for code Civil-A1 and name it as "Civil works at area A1". If i use add.rows then i Need to incert exact line but sometime we add a rows and extend the table so it won't work. What is the best practis to do that. Also when creating a subtotal row is there a way to sum up the volues of the gruop, I need rows before each group with gourp name and sum of volues (please see the example image below). The source table is very big and complex to make it manually
Solved! Go to Solution.
NewStep=Table.Combine(Table.Group(PreviousStepName,"Code for Area",{"n",each #table(Table.ColumnNames(_),{{Text.Replace([Code for Area]{0},"-"," Works at Area "),null,List.Sum([Volumes])}})&_)})[n])
Hi @kassymov_su ,
Could you tell me if @wdx223_Daniel 's suggestion helps you ? If it is, kindly Accept it as the solution. More people will benefit from it.
Best Regards,
Eyelyn Qin
Hi @kassymov_su ,
Actually in Power BI Desktop or Power Query, there is no direct way like a button to add a column to add rows to table .
Usually we will Transpose the table -->Add columns --> Transpose again to indirectly add rows, or use M function—— Table.InsertRows() which is not easy.
So I think the method provided by @wdx223_Daniel to add columns and show them in Matrix visual is the most efficient.
Best Regards,
Eyelyn Qin
NewStep=Table.Combine(Table.Group(PreviousStepName,"Code for Area",{"n",each #table(Table.ColumnNames(_),{{Text.Replace([Code for Area]{0},"-"," Works at Area "),null,List.Sum([Volumes])}})&_)})[n])
Hi,
Create Conditional Column in Power Query (find steps)
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bY5BD4IwDIX/yrIzJkBAwtEQNJ71RjiUOc1i15ltEP33FuFi9Na+973Xdp1szGRws8tkItunggmiccRLlqayT778kzMoNA1Ad0uaIkv5SrWoVfROwYo2MKB+jIiGbiJ6oHB13mrPVlFu/0YOCHRhnMeyyD/IkUL0o138s+aAs0LN1cIt3azXVfUL743XYofgrQivELWdD9f8a/8G", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Code for Area" = _t, Activities = _t, Volumes = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Code for Area", type text}, {"Activities", type text}, {"Volumes", Int64.Type}}),
#"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Group/Category", each if [Code for Area] = "Civil-A1" then "Civil Work at Area 1" else if [Code for Area] = "Electrocal-A1" then "Electrical Work at Area 1" else if [Code for Area] = "Instrum-A1" then "Instrument Work at Area 1" else null)
in
#"Added Conditional Column"
Or create Calculated Column in DAX
Proud to be a Super User! | |
Thanks for the answer Roy,
But your solution in query is just to add a column. What I need is to add a row before each group
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 11 | |
| 10 | |
| 5 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 26 | |
| 17 | |
| 13 | |
| 10 | |
| 10 |