クロスタブレポートの作成
ここでは「キューブの作成」で作成したキューブとクロスタブをバインドしてレポートを作成します。
クロスタブ (Crosstab) というのは、BIRT レポートで使えるコンポーネントのひとつです。
クロスタブはキューブの情報を表示するのに適しています。
キューブとクロスタブのバインディング
レポートデザイナー内のパレットの中に、Crosstab というのがあります。
クロスタブの中の左下のセルには、行のディメンションを、右上には列のディメンションを、右下にはメジャーを設定します。
今回作るレポートは行には日付、列には従業員を表示したいと考えているので、クロスタブの左下のセルに、キューブの中から OrderDate をドラッグアンドドロップします。
列の方は、ここでは1つのグループに二つのフィールドを入れているので、グループごと右上のセルにドラッグアンドドロップします。
すると二つのフィールドが表示されるように設定されます。
これだけでクロスタブ内にデータが表示されるようになります。レポートデザイナーの "Preview" を選択します。
これで確かに「日付毎」「従業員毎」をディメンションとした、「売上高」(メジャー)のサマリーが作成できました。
尚、ちなみにこれだけでは、「うーん、確かに表示はできたけど、なんだか余計な情報も入ってるし、小汚いぞ」と思われると思います。 レポートのフォーマットについては他の記事で説明しますが、ここではためしに EmployeeID 情報を削除することだけやってみましょう。
デザイナーで EmployeeID のセルを選び Delete キーを押して削除します。これでクロスタブに EmployeeID が表示されないようになります。
または、EmployeeID を選んでから、プロパティエディターの "Visibility" グループを選択して、その中の "Hide Element" をチェックします。
注意点としては、このときに EmployeeID のデータバインディング自体を削除してはいけない、ということです。キーは表示しないだけで、裏側では使ってもらいたいものです。 もし ID を使ってグルーピングしないと、従業員名だけがディメンションとなるので、 同姓同名の人が合算されてしまいます。
例えば、ここで EmployeeID = 5 と 6 の両名が Steven Buchanan という名前であるとします。
ここで EmployeeID をグルーピングの内容から削除(アンバインド)してしまうと、同姓同名でデータがまとめ上げられてしまいます。
こうした問題を避けるため、キーとなる ID をディメンションに含めてグルーピングをします。その ID が不要であれば、表示しないようにできます。
以上、基本的なクロスタブの利用方法を説明しました。
通貨の書式設定などについては、「書式の設定:スタイルの作成と適用」を参考にしてください。