Crystal Reports 重複したデータを非表示


Crystal Reports で重複したデータを非表示にする方法


↓データ

項目A 項目B  項目C  項目D
__________________________
AAAA  BBBB   0000   1000
AAAA  BBBB   1111   1000
AAAA  BBBB   2222   1000
AAAA  CCCC   0000   1000
AAAA  CCCC   1111   1000


↓このようにブレイクしたときにのみ表示したい場合

項目A 項目B  項目C  項目D
__________________________
AAAA  BBBB   0000   1000
             1111   1000
             2222   1000
      CCCC   0000   1000
             1111   1000

フィールドのプロパティの「重複したデータを非表示」チェックをつけたら上手くいくと思いきや。。。

項目A 項目B  項目C  項目D
__________________________
AAAA  BBBB   0000   1000
             1111   1000
             2222   1000
AAAA  CCCC   0000   1000   ←項目Aが表示されちゃう
             1111   1000


ということで「重複したデータを非表示」ではなく「非表示」での式に以下のスクリプトを記述

OnFirstRecord() = false AND {テーブル.項目A}=Previous({テーブル.項目A})

(先頭レコードではない場合 AND 前のレコードと同じだったら表示しない )


ただし、改ページが行われた際に非表示になるので改良が必要(OnFirstRecordはページの先頭かを判断するのではないので)



動作確認環境:Crystal Reports XI R2