Thanks for the reply Rakesh.
The date objects are different dimensions that are multivalue however when agregated against a customer ID they will all return a single value specific to the customer as such a nested statement would work however it is not robust enough to be the slution outside of a single report.
I want to provide a solution that would allow the result to be published into the system as a function that would allow a user to replicate the behaviour however not necessirally with the same number of input dimensions each time.