In this article, I demonstrate how to add aggregate fields to ClientDataSets, a technique which can be used in stand-alone TClientDataSets but also in combination with dbExpress or DataSnap.
StackOverflow: Firemonkey
Embarcadero: Firemonkey OOP
Embarcadero: Firemonkey C++