Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Tablixコントロールを使って横に長い集計表を作成する

ActiveReportsの新機能を活用して一歩進んだ帳票を作成しよう 第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/11/17 14:00

 前回は、Excel方眼紙でレイアウトした帳票や紙の帳票を元に、ActiveReportsで帳票を作成する方法をご紹介しました。今回は、ActiveReports for .NET 11.0Jの新機能「Tablixコントロール」を活用します。ActiveReportsにはデータを一覧表示するのに適したTableコントロールがありますが、Tablixコントロールを使うことで、Excelのピボットテーブルのようなクロス集計表(グループ化された2種類の項目に対して、行・列で交差した点の集計値を表示する表)を簡単に作成することができます。

目次

Tablixコントロールとは

 ActiveReports for .NET 9.0Jまでは、クロス集計表の作成のためのコントロールとして、Matrixコントロールが存在しました。今回紹介するTablixコントロールは、このMatrixコントロールの機能を引き継ぎつつ、Tableコントロールの機能も融合した、一覧表や集計表などの柔軟なレイアウトが実現できるコントロールです。

 Tablixコントロールの利用した帳票は、製品サンプルに含まれる「レポートギャラリーサンプル」で 確認することができます。

 以下の画像はサンプルに含まれる帳票のうちの1つです。これは一見TextBoxを1つずつ並べて配置して作成したかのように見えますが、実は1つのTablixコントロールからできています。

図1 Tablixコントロールで作られた帳票
図1 Tablixコントロールで作られた帳票

 グループ化されていない行・列を複数追加し、それらを必要に応じてセル結合することで表現しています。1つのコントロールなので、プレビューしたり、Excelなどにエクスポートしたりした時も、セルがずれることなくきれいに整列されます。

Tablixコントロールで追加された機能

 Tablixコントロールと従来のMatrixコントロールを比較すると、Tablixコントロールでは新たに以下のようなことができるようになっています。

集計セルの書式を個別に設定可能

 従来のMatrixコントロールでは、集計用のセルが1つだけしか定義できませんでしたが、Tablixコントロールではぞれぞれの行・列で集計用のセルを定義することができます。例えば、小計値は通常の書式にして、合計値のみ太字にしたりフォント色を変えたりすることができます。

図2 それぞれの行・列で集計セルを定義できる
図2 それぞれの行・列で集計セルを定義できる

集計列・行をデータ行・列の前に設定できる

 従来のMatrixコントロールでは、合計値の表示は必ず各データ行・列の後になりましたが、Tablixコントロールでは、合計の計算用のセルの挿入位置を各データ行・列の前にするか後にするかを選択できます。

図3 合計値のセルを前に持ってくることができる
図3 合計値のセルを前に持ってくることができる

行ヘッダ/列ヘッダのセル結合

 Tablixコントロールでは、行・列のヘッダのセルを結合することが可能です。以下の画像のような複雑なヘッダも1つのコントロールで簡単に実現可能です。

図4 行ヘッダや列ヘッダのセルを結合することができる
図4 行ヘッダや列ヘッダのセルを結合することができる

 次ページからは、実際にこのTablixコントロールを使用して、クロス集計表を作成してみます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 初音玲(ハツネアキラ)

     国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。  個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。  Microsoft MVP for Windows Development...

バックナンバー

連載:現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5