+1  A: 

I have two suggestions, not sure if either will work:

1. Using summation from iReport
Assuming you are using cross table, there is a feature to sum the total on the row or on the column. Make Previous Total, equal to the number of Previous Totals, and same goes for Current Total.
Then in Trend column, write an expression like Current_Value - Previous_value ==0

2. Find the sums in Query
This is the more robust solution, maybe a little more complicated though. I usually don't rely much on iReport, and always give it ready data.
If you generate your report data in Java, it will be easy to fill in all the values before calling the report.

medopal
Finding the sums in the query would be difficult. Because of the nature of the data, I could not easily use a crosstab report. Thanks for the response!
Dave Jarvis
A: 

An inelegant, but functional solution is to merge the static text fields together, and avoid having to synchronize Print When Expression and Text Field Expression in favour of just the latter.

($V{LAST_WEEK_TALLY_0}.add(
  $V{LAST_WEEK_TALLY_1} ).add(
  $V{LAST_WEEK_TALLY_2} ).add(
  $V{LAST_WEEK_TALLY_3} ).longValue() ==
$V{THIS_WEEK_TALLY_0}.add(
  $V{THIS_WEEK_TALLY_1} ).add(
  $V{THIS_WEEK_TALLY_2} ).add(
  $V{THIS_WEEK_TALLY_3} ).longValue()) ? "-" :
($V{LAST_WEEK_TALLY_0}.add(
  $V{LAST_WEEK_TALLY_1} ).add(
  $V{LAST_WEEK_TALLY_2} ).add(
  $V{LAST_WEEK_TALLY_3} ).longValue() <
$V{THIS_WEEK_TALLY_0}.add(
  $V{THIS_WEEK_TALLY_1} ).add(
  $V{THIS_WEEK_TALLY_2} ).add(
  $V{THIS_WEEK_TALLY_3} ).longValue()) ? "Up" : "Down"
Dave Jarvis