When you compute the sum of Reason Code Events.Reason Code Event Duration make shure that yout get _all_ records. If you use a dictionary or query which contains an equal-join to the Reason Code table you'll get only those records where agents entered one of the codes (1-999).
But there are often Idle-Events with code 0 (no reason) or above 1000 (errors, automatic idle after login, canceled...). I changed the link in the dictionary and added a formula in my report to print descriptions for these codes:
if {Reason Code Events.Reason Code Sub Event Type} = 0 then "NO REASON"
else
if {Reason Code Events.Reason Code Sub Event Type} = 1000 then "enter reason"
else
...
else
{Reason Code Desc.Reason Code Abbreviation}
hope that helps,
chris