複数のデータソースを使ってレポートを作る

レポート 基本編

Forguncyではレポート(帳票)にテーブルやビューのデータを明細表の形式で出力することができます。
レポートのデザインの自由度の高さはForguncyの特長の1つであり、1つのレポートに複数の明細表を配置することも可能です。
今回は明細に2つのデータソースを使用して、インボイス制度に対応した適格請求書を作成します。

 

プロジェクトファイル
(作成バージョン:8.0.40.0)
report-from-multiple-form_before.fgcp
report-from-multiple-form_after.fgcp(実装済みプロジェクトファイル)

1.プロジェクトを確認する

サンプルプロジェクトを開いてテーブルやページ、レポートの確認を行います。

 

手順1-1.テーブルとビューの確認

今回は既にプロジェクトに実装されている「顧客マスタ」テーブル「販売データ」テーブルに加えて「v_税率ごとの小計」ビューを使用します。
顧客マスタは品物を購入した顧客の情報を管理しています。

販売データテーブルにはいつ、何が、誰に、いくつ売れたのかのデータが記録されています。

v_税率ごとの小計ビューは販売データテーブルを基にしたビューで、月単位でそれぞれの顧客に売れたものの合計金額とその消費税額が税率ごとに計算されています。

手順1-2.ページの確認

プロジェクトに実装されている「請求書発行」ページを使用します。

ページにある出力ボタンを押下するとレポートビューワが開くようになっています。

手順1-3.レポートの確認

プロジェクトに実装されているレポート「請求書」を使用します。

レポートには発行日や見出し、自社の情報などが既に設定されていますが、テーブルやビューのデータはまだありません。

2.データセットの設定

今回はテーブルやビューから3つのデータソースを作成します。

3つのデータソースの関係性は下図のようになります。

手順2-1.テーブルからデータセットを作成する

ナビゲーションウィンドウのレポートから、「請求書」を右クリックしデータソースの追加…を押下します。

データソースの追加ウィンドウが開くので、下記のように顧客マスタを設定します。

データソース名:顧客データソース
対象テーブル:顧客マスタ
選択
フィールドレポート側のフィールド
[顧客名]顧客名
[登録番号]登録番号

これで顧客マスタをデータソースに指定することができました。

同様に、販売データテーブルも下記のように設定しデータソースにします。

データソース名:販売データソース
対象テーブル:販売データ
選択
フィールドレポート側のフィールド
[ID]ID
[日付]日付
[品名]品名
[単価]単価
[個数]個数
[軽減税率対応]軽減税率対象
[顧客登録番号]顧客登録番号
[小計]小計

手順2-2.ビューからデータセットを作成する

テーブルと同様、v_税率ごとの小計ビューもデータソースに設定します。

データソース名:税額データソース
対象テーブル:v_税率ごとの小計
選択
フィールドレポート側のフィールド
[年度]年度
[月]付き
[税率]税率
[合計金額]合計金額
[消費税額]消費税額
[顧客登録番号]顧客登録番号

3.レポートのグループ化

顧客ごとにレポートを出力するため、レポートレベルのグループ化の設定を行います。

手順3-1.グループ化の設定

請求書レポートのデザイン領域外をクリックします。

右側のレポートプロパティの項目にある「グループ」の「式」を指定します。

右側にある+ボタンを押下し、{登録番号}を指定します。
これで、登録番号ごとにレポートがグループ化され、登録番号ごとに請求書を出力できるようになりました。

レポートのプレビュー

Forguncyのレポートデザイナーにはプレビュー機能が搭載されています。
デザイナー画面左上のプレビューボタンをクリックすることで、いつでもレポートのデザインの確認が行えます。
プレビュー機能についてはスタートガイドでも解説しておりますので、そちらもご覧ください。
>>開発スタートガイド – ActiveReports搭載デザイナーで帳票を作る

4.販売データの明細をレポートに配置

1つ目の明細表として、販売データテーブルのデータをレポートに表示する設定を行います。

手順4-1.テーブルの配置

レポートでデータセットの中身を明細表形式で表示するためには、Tableパーツを使用します。

デザイナー画面の左側からTableを選択し、画面にドラッグ&ドロップで配置します。

手順4-2.データセットの設定

Tableに表示するデータセットの設定を行います。

手順4-2-1.データセットの指定

デザイナー画面右側のデータセットプロパティ販売データソース_DataSetを指定します。

手順4-2-2.フィルタの設定

このままでは販売データソース_DataSet内にある全てのデータが出力されてしまいます。

レポート自体は手順3-1で登録番号単位=顧客ごとにグループ化されており、1顧客につき1つの請求書が出力されるように設定されています。

そのため、Tableに表示するデータも顧客ごとになるようフィルタの設定を行います。

データセットプロパティよりも下部にスクロールすると、フィルタプロパティが存在します。

+ 追加…」をクリックし、以下のように設定します。

  • 顧客登録番号 = {登録番号}(※式から指定)

手順4-3.明細項目の配置

実際に明細表形式で表示する項目の設定を行います。

デザイナーに配置したTableはヘッダー、明細行、フッターの3行で構成されています。

手順4-3-1.明細行項目の設定

明細行に表示する項目は日付、品名、軽減税率対象、単価、個数、小計の6つです。

そのため、まずはTableの列を6つに増やします。

列を増やしたら、各項目を明細行に配置します。

明細行に項目がセットされると、ヘッダー行には自動で見出しが設定されます。

この見出しは自由に変更することが可能です。

ここまで完了した段階でプレビューを表示すると、下図のように軽減税率対象の欄が「True」かブランクになっています。

このままでは分かりにくいため、軽減税率対象の場合はこの欄に「*」と表示するように式をセットします。

  • 式:{IIF(軽減税率対象 = true, “*”, “”)}]

手順4-3-2.フッター行(合計金額の表示)の設定

フッター行に小計項目を合算した合計金額を表示する設定を行います。

フッター行の右端の列に、式エディタに下記の式をセットして小計をSUM関数で集計した値を出すよう、式をセットします。

  • 式:{Sum(小計)}

合計金額をセットした左隣の列には「合計」と入力し、見出しとして出力されるようにします。

ここまでの設定が完了し、見た目を整えるとレポートは下図のような状態になります。

レポート項目の見た目を整える

レポートに表示するデータは、表示形式プロパティを使用することでExcelのセルの書式設定機能のように表記を変更することができます。
数値にカンマ区切りを追加したり、日付/時刻型のデータから年月日だけを表示したりと変更でき、ユーザーに優しいレポートデザイン作りには欠かせない機能となっています。
詳細は下記のヘルプをご確認ください。
>データの表示形式(Forguncyヘルプ)

5.税率ごとの小計を明細形式でレポートに配置

2つ目の明細表として、8%対象の合計金額とその消費税額、10%対象の合計金額とその消費税額をレポートに表示する設定を行います。

手順5-1.テーブルの配置

手順4-1と同様にTableパーツをドラッグ&ドロップで配置します。

配置したTableのデータセットプロパティには税額データソース_DataSetを指定します。

手順5-2.フィルタの設定

手順4-2-2と同様に、Tableに表示するデータを顧客登録番号で絞り込むためのフィルタを設定します。

フィルタプロパティの「+ 追加…」から、以下のように設定を行います。

  • 顧客登録番号 = {登録番号}(※式から指定)

手順5-3.明細項目の配置

実際に明細表形式で表示する項目の設定を行います。

明細行に表示する項目は税率、合計金額、消費税額の3つです。

そのため、Tableの列を3つに増やしそれぞれの項目をセットします。

フッター行には明細の消費税額の合計を表示します。

フッター行の右端の列に、式エディタを使って下記の式をセットします。

  • 式:{Sum(消費税額)}

消費税額の合計をセットした左隣の列には「消費税額計」と入力し、見出しとして出力されるようにします。

ここまでの設定が完了し、見た目を整えるとレポートは下図のような状態になります。

6.明細外項目の配置

明細外に配置されている、最終的な請求総額や顧客名の設定を行います。

手順6-1.顧客名の設定

レポート上部の「御中」の左側にある空きスペースにTextBoxを追加します。

値には顧客データソース_DataSet顧客名を指定し、フォントサイズ等を整えます。

手順6-2.総合計の出力

「ご請求額」の下にある枠内に1つ目の明細の合計と2つ目の明細の消費税額計を足した、総合計を出力するテキストボックスを配置します。 総合計を算出するには、式エディタにSUM関数とLookupSet関数を組み合わせた下記の式をセットします。

  • 式:{Sum(LookupSet(登録番号, 顧客登録番号, 小計, “販売データソース_DataSet”)) + Sum(LookupSet(登録番号, 顧客登録番号, 消費税額, “税額データソース_DataSet”))}

LookupSet関数についての詳細は、こちらのヘルプをご確認ください。

フォントサイズや表示形式を整えたら、完成です。

7.デバッグを実行

これでページが完成したので、プロジェクトをデバッグ実行します。

手順7-1.デバッグを実行する

リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。

作成したページがブラウザで表示されます。
出力ボタンを押下すると、レポートビューワで作成したレポートが表示されます。

8. Forguncyのレポートについてもっと知る

Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したレポート機能についてより詳しくご紹介しています。

こちらもぜひご活用ください。

>ノーコードWebアプリ開発ツール「Forguncy」

ノーコードWebアプリ開発ツール「Forguncy」

Forguncy(フォーガンシー)は複数のシステムと直接接続して参照・更新が行えるデータ管理機能と、Excel感覚でレイアウトができる画面デザイン機能を備えたノーコードWeb開発&運用プラットフォームです。基幹システムでは対応できず、仕方なくExcelやAccessで管理していた業務のサブシステム化を強力に支援します。

CTR IMG