I have done it using Deski and four variables.
Start of with the hours measure, create some variables, in the following my year variable is vYears, my Month variable is vMonths, my days variable is vDays, and my hours variable is vHours.
vYears uses the following calculation:
=Floor(Sum(<Hours Billed by Date Billed>/24)/365.25)
vWeeks uses the following calculation:
=Floor(Sum((Sum(<Hours Billed by Date Billed>/24)/365.25)-<vYears>)*365.25/7)
vDays uses the following calculation:
=Floor(Sum(Sum((Sum(<Hours Billed by Date Billed>/24)/365.25)-<vYears>)*365.25/7-<vWeeks>)*52/24)
vHours uses the following calculation:
=Truncate(Sum((Sum(Sum((Sum(<Hours Billed by Date Billed>/24)/365)-<vYears>)*365/7-<vWeeks>)*52/24-<vDays>)*24) , 2)
I Then can output these variables by doing the following:
=<vYears>+" Years "+<vWeeks>+" Weeks "+<vDays>+" Days "+<vHours>+" Hours"
If you need further information please dont hesitate in asking.
Thanks,
Matt