But if it is in Adobe Campaign v6/v7, you should have a look on these standard reports:
One good way to learn and experiment is to duplicate these reports for your own namespace schema and so, you can modify them and adapt to your need. I suggest it, of course, because documentation is not enough for customizing reports.
In your use case, please add [recipient/@city] as a column count and also as a group item.
Do you use Adobe Campaign classic (v6/v7) version or standard ACS ?
Are the reports for company use or the contacts targeted themselves.
Are profiles the Contacts from nms:recipients so the city code could be used for displaying and sending reports attached to their deliveries based on their data (either the nms:recipient or the cube generated from nms:recipient data, xtk:olapCube) ?
Or are the city information taken from the nms:operators schema (I guess not) ?
Regarding your use case, may you share some diagram or screenshot to be sure to undertand your requirement?