I have repeated values for column 1 and column 2 and am trying to display a value in column 2 only once for each group of repeated values so as the Ultimate guide says, I created a group for $F{col1} named col1group and set isPrintRepeatedValues="false" and printWhenGroupChanges="col1group" but if the value in column 2 is the same across groups, it is not displayed. i.e. it appears printRepeatedValues overrides printWhenGroupChanges. column 1 | column 2 joe | 0 joe | 0 fred | 0 fred | 0 Should display joe | 0 joe | fred | 0 fred | But displays instead joe | 0 joe | fred | fred | Code:...<subDataset name="table 2 DataSet"><queryString> <![CDATA[execute dbo.multiColStoredProcedure $P{reportJobId}, $P{tierElementId}, $P{queryType}]]></queryString><field name="col1" class="java.lang.String"/><field name="col2" class="java.lang.Integer"/><field name="col3" class="java.lang.String"/><field name="col4" class="java.lang.Integer"/><<group name="col1group"> <groupExpression><![CDATA[$F{col1}]]></groupExpression></group></subDataset>...<jr:detailCell height="23"><textField pattern="#,###,##0"> <reportElement style="Table_TD_noRepeat" isPrintRepeatedValues="false" x="0" y="0" width="98" height="23" printWhenGroupChanges="col1group"/> <textElement/> <textFieldExpression class="java.lang.Integer"><![CDATA[$F{col2}]]></textFieldExpression></textField></jr:detailCell>