SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

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

今回利用するデータ

 今回は、気象庁の過去の気象データ検索から月ごとの日平均気温のデータをCSVファイル化して、Tablixできれいにまとめてみましょう。データのフォーマットは「年」「月」「都道府県」「市町村区」「日平均気温」とします。最初は過去100年くらいを考えていましたが、県庁所在地以外だと意外と100年前のデータがないので、キリのいい過去50年のデータを処理してみましょう。

データソースの設定

 プロジェクトに新しいRDLレポートファイルを追加したら、レポートエクスプローラーを使ってCSVファイルをデータソースとして指定します。データソースの設定について詳しい手順は、前回の記事をご参照ください。

図5 データソースの指定
図5 データソースの指定

帳票定義

 今回作成する定義は次のような平均集計付きの一覧表になります。

図6 Tablixによる定義例
図6 Tablixによる定義例

 TextBoxだけで作成しようとすると印字するデータの個数を気にしながらすべての印字項目分のTextBoxを配置しなければなりません。Tablixコントロールを使えば、例えば年月や地域といった繰り返し項目は一つの定義で自動的に横方向や縦方向にデータ数分だけ自動繰り返しされます。

 この定義は次のように作成します。

(1)Tablixを配置

 Tablixコントロールをデザイナに配置すると2x2の初期状態で配置されます。

図7 初期状態
図7 初期状態

(2)基本的な項目の設定

 今回は列方向に時間軸、縦方向に地域とするので、右上に「=年」、左下に「=都道府県」、右下に「=日平均気温」を設定します。右下のセルを「=日平均気温」とすることで、自動的に「=年」と「=地域」に合致する日平均気温の先頭値が設定されます。

図8 基本的な項目の設定
図8 基本的な項目の設定

(3)都道府県の子項目追加

 行方向の項目を完成させます。

 「=都道府県」の項目を右クリックして[行グループ追加]-[子グループ]で1列追加し「=市町村区」を設定します。

図9 行方向の項目
図9 行方向の項目

 次に「=市町村区」の項目を右クリックして[合計の追加]-[後]で合計行を追加します。

(4)年の子項目追加

 列方向の項目を完成させます。

 「=年」の項目を右クリックして[列グループ追加]-[子グループ]で1行追加し「=月」を設定します。

図10 列方向の項目
図10 列方向の項目

 次に「=月」の項目を右クリックして[合計の追加]-[後]で合計列を追加します。

 この時点でまずはプレビューで確認してみましょう。

図11 プレビュー確認
図11 プレビュー確認

次のページ
帳票定義の改善

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10463 2017/11/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング