Total the extracted amounts. data = Dataset@Table[Association[ "Sector" -> RandomChoice[{"Energy", "Env"}], "Supplier" -> StringTemplate["N``"]@RandomInteger[5], "Stage" -> 10*RandomInteger[5], "Amount" -> 1000*RandomInteger[200] ], 100]; Total /@ GroupBy[data, #Supplier &, Map[#["Amount"] &]] *Edited in response to change in question:* Your comment says you only want to total over a Stage1 and Stage 2, so select for these. sel = Select["Stage1" == #Stage || "Stage2" == #Stage &] grp = GroupBy["Supplier"] data[sel][grp, Total, "Amount"]