In reply to Rob.

Rob, for a very simple example, consider a table that contains a Transaction Date column and an Order Total column. Each row represents the order total for a transaction date. Create a report containing a text input control where the user can type in a transaction date and a list table that displays two columns: Transaction Date and Order Total. The table will display two rows containing the order totals for the user-specified date and the date one year earlier.
Here is what makes it all work:
The text input field supplies the value for a character parameter, DateParameter.
The list table has this advanced filter:
( Ref Date = Transaction Date ) OR ( Ref Date (yr-1) = Transaction Date )
Ref Date is a calculated data item represented by this expression:
Parse('DateParameter'p, 'ANYDTDTE18.')
Ref Date (yr-1) is a calculated data item represented by this expression:
TreatAs(_Date_, ( TreatAs(_Number_, 'Ref Date'n) - 364 ))
Hope this example helps.