一.概要
1.問題の概要
帳票の応用で、グループ分け集計のデータについて割合の高い種類のデータだけを表示させ、その他の割合の低い種類のデータをその他にまとめて表示させると、テーブルの表示がより簡潔になります。それでは、一般グループ分けの場合、トップNのグループのみ表示させ、N以降のグループをその他として表示させる方法について紹介します。実際の表示効果は下記の通りです。
2.実現方法
セル要素-データ設定で、カスタム数式によるグループ分けを通して実現します。
二.例
1.テンプレートデザイン
1.データセットds1を新規作成し、sql文を次のように入力します。SELECT * FROM 販売量 where 商品名称='リンゴジュース' order by 販売量 desc。具体的には下記の図をご参照ください。
2.下記の図のように、ds1から販売員、商品種類、商品名称、売り上げのフィールドをそれぞれ順番にA2、B2、C2、D2セルにドラッグしてから、テンプレートスタイルを設定します。
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.効果プレビュー
テンプレートを保存し、改ページプレビューをクリックします。