この記事では、小計行を出力するクエリに関する拡張表現関数を使用してみます。
この関数を利用すると、小計行に対する詳細行が1つしかない場合、その小計行をスキップすることができます。
小計行を出すようクエリを設計した場合、小計行は、それに対する詳細行が1つしかない場合でも作成されます。 そのような場合、レポートは非常に見づらくなってしまいます。 この関数を使用することで、詳細行を1つしかもたない小計行を抑制することができます。
では元となるクエリを準備します。SAP Business Oneを利用してこのようなクエリを作成します。
実行結果はこうなります。
伝票集計年に対して、グループオプションを使用してクエリ結果に小計行を追加します。
出力領域の右クリックメニューからオプションを選択します。
並び替えとグループ化
タブに移動します。
伝票集計年を並び替えなし
領域から並び替えあり
領域へ移動させます。そしてグループ化オプション
で基本を選択します。
ではプレビューしてみましょう。
小計行に対してその詳細行が複数存在する場合は、見た目も良いですが、このように詳細行が一つしか存在しない場合は小計する必要もなく、またそういった行が連続すると見づらくなってしまうケースもあります。
そこで今回ご紹介する関数でこの問題を解決します。
出力領域の右クリックから拡張表現を追加を選択します。出力オプションダイアログが開いたら、関数一覧よりRowSkipWhereSubTotalsOverOneRow文を探し、ダブルクリックで上部エディタ領域にテンプレートを転送します。
一般タブに移動して以下のように編集を行います。説明はあくまでも参考です。ここで大事なのは、この関数はそれ自体が出力結果にはなんら関係がないので非表示にすることです。
クエリ結果はこのようになります。
場合によっては、詳細行が一行のみでも小計を出したい場合もあるでしょうから、ここではこのような動作をする関数もありますよということだけご理解頂ければ幸いです。
では、失礼します。