I think you could do the report in a crosstab, and I'm assuming you are not sure how to group the records according to age. First create a formula {@aged}:
if datediff("d",{table.date},currentdate) in 0 to 30 then "0 to 30" else
if datediff("d",{table.date},currentdate) in 31 to 60 then "31 to 60" else
if datediff("d",{table.date},currentdate) in 61 to 90 then "61 to 90" else
if datediff("d",{table.date},currentdate) > 91 then ">91" else ""
Also create a formula {@itemdescr} which concatenates the item and description field:
totext({table.itemno},0,""

+ " "+{table.descr}
Next insert a crosstab into the report header or footer, and use {@aged} as the column, {@itemdescr} as the row, and
count of {table.itemno} as the summary. Select the column field {@aged} and then select "Group Options" and choose "specified order". Using the dropdown list, add the formula results in the order you want, starting with "0 to 30". Then select the "Others" tab and choose "Discard all others".
That should do it.
-LB