ダイナミック設定で上位 N グループを表示

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

    1.問題の概要

    帳票の応用で、グループ分け集計のデータについて割合の高い種類のデータだけを表示させ、その他の割合の低い種類のデータをその他にまとめて表示させると、テーブルの表示がより簡潔になります。それでは、一般グループ分けの場合、トップNのグループのみ表示させ、N以降のグループをその他として表示させる方法について紹介します。実際の表示効果は下記の通りです。

    2.実現方法

    セル要素-データ設定で、カスタム数式によるグループ分けを通して実現します。

    09.gif

    二.例

    1.テンプレートデザイン

    1.データセットds1を新規作成し、sql文を次のように入力します。SELECT * FROM 販売量 where 商品名称='リンゴジュース' order by 販売量 desc。具体的には下記の図をご参照ください。

     

    2.下記の図のように、ds1から販売員商品種類商品名称売り上げのフィールドをそれぞれ順番にA2B2C2D2セルにドラッグしてから、テンプレートスタイルを設定します。

     

    3.下記の図のように、D2セルを選択し、セル要素-データ設定集計-合計を選び、D2セルのデータタイプをグループごとの合計集計に設定します。

     

    2.プルダウンボックスウィジェットの設定

    プルダウンボックスウィジェットを追加します。このウィジェットは表示したいトップNのグループの特定に使用されます。

    1.テンプレートパラメータTOPNを新規作成します。下記の図のように、テンプレート-テンプレートパラメータに入り、ここでテンプレートパラメータ「TOPN」を新規作成します。既定値のところで整数型を選びます。

    2.パラメータパネルでパラメータTOPNを追加し、ウィジェットタイプをプルダウンボックスウィジェットに設定します。データ辞書のところでデータタイプを数式に設定し、実際値にrange(1,8)を書き込み、プルダウンボックスに選択可能な数字を追加します。具体的には下記の図をご参照ください。

    注:RANGE(from,to,step) 関数は整数 from から、 step を幅に、整数 to までの数列を表します。

     

    3.カスタマグループ分け

    1.下記の図のように、A2セルをクリックし、セル要素-データ設定グループ別-詳細-カスタマイズを選びます。

        

    2. カスタマイズをクリックし、カスタマグループ分けのところで数式グループ分けを選び、表示モードを一般グループ分けを選びます。カスタマ値のところに下記の数式を書き込むことで、N番目以降のすべての販売員その他に合併して表示させます。if(inarray($$$,ds1.select(販売員))<=$TOPN,$$$,"その他")

     

    数式の説明:

    ステップ

    役割

    数式の説明

    ds1.select(販売員)

    データセットds1から「販売員」の列を取得します

    tablename.select(colname):データセットからある列のデータを選択し、結果として配列を返します。

    inarray($$$,ds1.select(販売員))

    「販売員」の列における現在の「販売員」セルの位置を取得します。

    inarray(co,array):配列arrayにおけるcoの位置を返し、coが配列arrayに含まれていない場合、0を返します。

    if(inarray($$$,ds1.select(販売員))<=$TOPN,$$$,"その他")

    Nより値の大きい位置にある販売員を「その他」に名前を変えます。

    IF(boolean,string1,string2):判断関数で、booleanがtrueの場合string1を返し、falseの場合string2を返します。

    $パラメータ名:参照パラメータ

    4.効果プレビュー

    テンプレートを保存し、改ページプレビューをクリックします。

    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read