I've done a few of these and have found this technique useful.
The easiest approach is to put a date in the column heading of the 1st of each month, and then format it to Mon-YYYY.
I've also found people prefer the columns to go forwards in time rather than back, so the most recent column is on the right.
heading for current month {@ColTM}
numbervar y:=year(CurrentDate);
numbervar m:=month(CurrentDate);
Date(y,m,1)
Heading for previous month {@col-1}
numbervar y:=year(CurrentDate);
numbervar m:=month(CurrentDate)-1;
if m<1 then (m:=m + 12; y:=y-1);
Date(y,m,1)
Then repeat the previous formula and change the -1 to -2, -3, up to -6
Then the formula for this month's data is
if {table.datefield} >= {@colTM) and
{Table.datefield} <= CurrentDate then {table.value}
The value for last month is
if {table.datefield} >= {@col-1) and
{Table.datefield} < {@colTM} then {table.value}
The value for two months ago is
if {table.datefield} >= {@col-2) and
{Table.datefield} < {@col-1} then {table.value}
Copy the previous formula for the subsequent months and change the dates for each selection.
Lots of formulas and copy and paste help here.
Then just summarise your values for each month.
Editor and Publisher of Crystal Clear