データフィルターで段組みを実現

  • 作成者:ayuan0625
  • 編集回数:13次
  • 最終更新:FRInternational 于 2021-11-30
  • 一.概要

    1.応用シーン

    テンプレートの行を固定した後、段組みに異常が生じることが多いです。本マニュアルでは、こうした状況を避ける方法について紹介します。

     

    2.実現方法

    データセットフィルタ機能を利用して段組みを設定します。これは本物の段組みではなく、データを指定位置に展示する方法です。フロントエンドに段組みの効果を表示させることです。

    この方法の利点は、行の固定を妨げることがないことです。

    二.例示

    1.データ準備

    ビルドインデータセットds1 を新規作成します。データセットには2つのフィールドがあります。下図の通りです。

     

    2.帳票デザイン

    1.次の図のように、データの集中するフィールドを対応のセルにドラッグし、A3~E3セルの左親セルをA2セルに設定し、また、縦方向展開に設定します。

    注:アイテムフィールドが5列に繰り返しドラッグされたのは、5列に分けたいからです。いくつかの段に分けて組むなら、同じ数の列を設定します。

     

    2.次の図のように、メニューバーのテンプレート-重複と固定設定をクリックして、重複ヘッダ行を1行目から2行目まで設定し、改ページ固定のところで1行目から2行目までを固定します。

     

    3.結果セットのフィルタを設定

    1.A3セルをダブルクリックすると、データ列画面がポップアップされ、詳細をクリックして、結果セットのフィルタを指定に変更し、数式を記入します。

    =if($__count__<5,1,JOINARRAY(GREPARRAY(range($__count__),item % 5 == 1),","))

    説明:現在のデータの総個数が、希望な段組みの列数よりも少ない場合は、1となります。(データの個数が、段組みの列数より少なくなって、データが全部表示されることを避けるためです)それ以外の場合は、1,6,11,16,21…のような形にします。また、データセットフィルタ指定の機能は、配列が自身の個数が1,6,11,16,21個の時のデータを表示しているからです。

    注:数式の最初にある等号を忘れないでください。

     

    2.B3E3セルも指定の結果セットのフィルターを設定する必要がありますが、A3とは数式が若干異なります。数式はそれぞれ以下の通りです。

    B3:=if($__count__<5,2,JOINARRAY(GREPARRAY(range($__count__),item % 5 == 2),","))

    C3:=if($__count__<5,3,JOINARRAY(GREPARRAY(range($__count__),item % 5 == 3),","))

    D3:=if($__count__<5,4,JOINARRAY(GREPARRAY(range($__count__),item % 5 == 4),","))

    E3:=if($__count__<5,5,JOINARRAY(GREPARRAY(range($__count__),item % 5 == 0),",")

    4.プレビュー

     

    Attachment List


    Theme: FineReport 帳票実例
    • いいね
    • 良くない
    • 閲覧しただけ