How to select custom attributes on an object

Normally, when you use Select-Object, you are restricted to the properties of the object on the pipeline. i.e.
objects | Select-Object Id, Name, Age, Address
But if you want to display a child object's property or do a simple calculation on a field ,can that be done on a Select-Object?
You can with:
$objects | Select-Object Id, Name, @{N='Name', E={$_.SubObject.SubProperty}}, Age, Address
NOTE: N is a short form of Name and E is a short form of Expression.
You can do field manipulation too, like:
$objects | Select-Object Id, Name, @{N='Age in Months', E={$_.Age * 12}}, Age, Address