Dear David,
I am sorry. You are right. I should have read the question more carefully. My bad!
Here's the answer for a "Dataset" dataset ...
dataset = Dataset[Table[<|"a" -> RandomReal[], "b" -> RandomReal[], "c" -> RandomReal[]|>, {i, 1, 10}]]
Then you can do
dataset2 = Append[#, "d" -> #["b"] + #["c"]] & /@ dataset
This one is a bit shorter
dataset2 = Append[#, "d" -> #b + #c] & /@ dataset
Alternatively, you can use the Join command
dataset2 = Join[#, <|"d" -> #b + #c|>] & /@ dataset
I guess that it can also be done using procedural programming, e.g.
dataset2 = Dataset[Table[Normal[Join[dataset[[i]], <|"d" -> dataset[[i, 2]] + dataset[[i, 3]]|>]], {i,1, 10}]]
but this version is neither fast, nor elegant nor readable.
Cheers,
M.