*!* crsTransactions table *!* Transnum Days Amount *!* -------- ---- ------ *!* 1 10 1000 *!* 1 30 500 *!* 2 30 2000 *!* 2 40 *!* 3 20 3000 *!* 3 20 select avg(days) as avg_days,transnum ; from crsTransactions ; group by transnum ; into cursor crsAverage ; nofilter select a.transnum, a.days, a.amount, ; iif(between(b.avg_days, 1,20),1,0)*a.amount as c1, ; iif(between(b.avg_days,21,30),1,0)*a.amount as c2, ; iif(between(b.avg_days,31,40),1,0)*a.amount as c3 ; from crsTransactions a ; inner join crsAverage b ; on a.transnum = b.transnum ; into cursor crsReport ; nofilter * report form myreport to file trns ascii * report form myreport layout * Data grouping : transnum * Variables : (no variables) * Detail band : transnum days amount *-------------- * Group footer : days (calc - average) c1, c2, c3 (all calc sum, reset transnum) *-------------- * Summary band : c1, c2, c3 (all calc sum, reset end of report) *-------------- * Trns.txt below *!* Trans Days Amount (1 to 20 days) (21 to 30) (31 to 40) *!* 1 10 1.000 *!* 1 30 500 *!* Avg 20 1.500 *!* 2 30 2.000 *!* 2 40 *!* Avg 35 2.000 *!* 3 20 3.000 *!* 3 20 *!* Avg 20 3.000 *!* Totals 4.500 2.000Cetin