クロスタブレポートの作成

ここでは「キューブの作成」で作成したキューブとクロスタブをバインドしてレポートを作成します。

クロスタブ (Crosstab) というのは、BIRT レポートで使えるコンポーネントのひとつです。

クロスタブはキューブの情報を表示するのに適しています。

キューブとクロスタブのバインディング

レポートデザイナー内のパレットの中に、Crosstab というのがあります。

クロスタブによるマトリックス・レポートの作成

クロスタブの中の左下のセルには、行のディメンションを、右上には列のディメンションを、右下にはメジャーを設定します。

クロスタブによるマトリックス・レポートの作成

今回作るレポートは行には日付、列には従業員を表示したいと考えているので、クロスタブの左下のセルに、キューブの中から OrderDate をドラッグアンドドロップします。

クロスタブによるマトリックス・レポートの作成

列の方は、ここでは1つのグループに二つのフィールドを入れているので、グループごと右上のセルにドラッグアンドドロップします。

クロスタブによるマトリックス・レポートの作成

すると二つのフィールドが表示されるように設定されます。

これだけでクロスタブ内にデータが表示されるようになります。レポートデザイナーの "Preview" を選択します。

クロスタブによるマトリックス・レポートの作成

これで確かに「日付毎」「従業員毎」をディメンションとした、「売上高」(メジャー)のサマリーが作成できました。

尚、ちなみにこれだけでは、「うーん、確かに表示はできたけど、なんだか余計な情報も入ってるし、小汚いぞ」と思われると思います。 レポートのフォーマットについては他の記事で説明しますが、ここではためしに EmployeeID 情報を削除することだけやってみましょう。

クロスタブによるマトリックス・レポートの作成

デザイナーで EmployeeID のセルを選び Delete キーを押して削除します。これでクロスタブに EmployeeID が表示されないようになります。

または、EmployeeID を選んでから、プロパティエディターの "Visibility" グループを選択して、その中の "Hide Element" をチェックします。

注意点としては、このときに EmployeeID のデータバインディング自体を削除してはいけない、ということです。キーは表示しないだけで、裏側では使ってもらいたいものです。 もし ID を使ってグルーピングしないと、従業員名だけがディメンションとなるので、 同姓同名の人が合算されてしまいます。

例えば、ここで EmployeeID = 5 と 6 の両名が Steven Buchanan という名前であるとします。

クロスタブによるマトリックス・レポートの作成

ここで EmployeeID をグルーピングの内容から削除(アンバインド)してしまうと、同姓同名でデータがまとめ上げられてしまいます。

クロスタブによるマトリックス・レポートの作成

こうした問題を避けるため、キーとなる ID をディメンションに含めてグルーピングをします。その ID が不要であれば、表示しないようにできます。

クロスタブによるマトリックス・レポートの作成

以上、基本的なクロスタブの利用方法を説明しました。

通貨の書式設定などについては、「書式の設定:スタイルの作成と適用」を参考にしてください。