レイアウトに十字形のタブ要素があります。列グループの値の1つがnullで、出力にnull値の列を表示したくない場合。ヌル/空の列をクロス集計から削除するにはどうすればよいですか?
ヌル値の場合は空白をチェックし、式プロパティの場合は印刷を修正しました。しかし、それは空の値を空白に置き換えているだけですが、列は依然として出力にあります。
電流出力
の予想される出力
レイアウトに十字形のタブ要素があります。列グループの値の1つがnullで、出力にnull値の列を表示したくない場合。ヌル/空の列をクロス集計から削除するにはどうすればよいですか?
ヌル値の場合は空白をチェックし、式プロパティの場合は印刷を修正しました。しかし、それは空の値を空白に置き換えているだけですが、列は依然として出力にあります。
電流出力
の予想される出力
何か他のものにヌルから列ヘッダ内の名前を変更するには、bucketExpression
を変更することができます<bucketExpression><![CDATA[($F{myField==null}?"New name":$F{myField})]]></bucketExpression>
これを使用すると、値を新しいバケット(列)に移動することもできます。
列全体を削除する場合は、クロス集計に渡す前に、データソース内のNULL値をフィルタ処理する方法がありません。
オプションは次のとおりです。
あなたはWHERE myField is not null
あなたのデータソースにfilterExpressionを使用してのようなものになるだろうmysqlのために、ちょうどwhere句内のフィールドを追加し、SQLデータソースを使用している場合例えば。
<filterExpression><![CDATA[($F{myField}!=null)]]></filterExpression>
無視して、レコードがnull
値がある場合はジャンプのデータソースをラップするカスタムJRDatasourceを開発します。
結論:列を削除するには、あなたがクロス集計にそれを渡す前に、データソースからレコードを削除する必要があります。