4.0
Material Design Components (Aggregation)

1. Aggregation

MDCモジュールにおける定型集計画面の設定です。
定型集計は予め設定された集計方式、検索条件を元に、データの集計やグラフ表示を行います。
MDC版では単純集計とクロス集計をサポートしています。

2. 操作説明

MDCモジュールにおける集計画面の操作説明です。
エンティティのデータを集計し、集計データやグラフとして表示する画面です。
MDC版ではPCモードとモバイルモードの2種類の表示モードをサポートしています。

2.1. 単純集計/クロス集計

エンティティのデータを集計し、集計データやグラフとして表示する画面です。

画面構成

集計画面は、大きく3つの領域に分かれています。 上部の ボタン・フィルタ条件エリア 、中央の 集計結果エリア 、下部の グラフエリア です。

aggregation view

ボタン・フィルタ条件エリア

集計画面の操作ボタンと集計対象データの絞り込み条件を設定します。

フィルタ条件ダイアログ

aggregation filter dialog

A.フィルタ条件

検索条件を入力するフィールドです。 プロパティの型に応じて適切な入力形式が表示されます。

B.条件追加/削除

+ ボタンをクリックすると、フィルタ条件を追加できます。 - ボタンをクリックすると、フィルタ条件を削除できます。 複数の条件を組み合わせて絞り込みが可能です。

C.検索実行

検索する をクリックすると、フィルタ条件を元にデータの集計を行います。

D.条件クリア

クリア をクリックすると、画面表示時のフィルタ条件に戻ります。

ファイルダウンロード

集計結果をファイルとしてダウンロードします。

aggregation download dialog

A.ダウンロードボタン

クリックするとダウンロードダイアログが表示されます。

B.ファイル形式選択

CSV形式またはExcel形式を選択できます(設定により変更可)。

C.ダウンロード実行

選択した形式でファイルをダウンロードします。

集計結果エリア

エンティティの集計データをテーブル形式で表示します。

aggregation table

A.ページング

集計データが集計結果の表示上限を超える場合に表示されます。 単純集計の場合のみ表示します。 <> をクリックすると前後のデータを表示します。

B.集計結果テーブル

集計データを行列形式で表示します。 ヘッダーをクリックするとソートが可能です(設定により変更可)。

グラフエリア

aggregation chart

集計データを視覚的に表現します。 以下のグラフタイプをサポートしています。

  • 折れ線グラフ
    aggregation chart line

  • 棒グラフ
    aggregation chart bar

  • 円グラフ
    aggregation chart pie

  • ドーナツグラフ
    aggregation chart doughnut

  • バブルチャート
    aggregation chart bubble

  • 散布図
    aggregation chart scatter

  • ピラミッド
    aggregation chart pyramid

  • レーダーチャート
    aggregation chart radar

  • ポーラーチャート
    aggregation chart polar

2.2. メニュー

集計結果やグラフのデータ部分を選択し、右クリックするとメニューが表示されます。

  • PCモード: 右クリックでメニューを表示

  • モバイルモード: 長押しでメニューを表示

aggregation context menu

テーブルの操作

コピー

集計結果の選択行またはセルの内容をコピーする。

選択解除

集計結果の選択行またはセルを未選択状態にします。

全選択

集計結果の全行または全セルを選択状態にします。

全選択解除

集計結果の全行または全セルを未選択状態にします。

グラフの操作

ズーム操作
  • PCモード: 右ボタンのドラッグで範囲を指定してズーム

  • モバイルモード: ピンチイン/ピンチアウトでズーム

ズーム解除

ズームを解除してグラフを初期表示状態に戻します。

グラフ画像の出力

aggregation chart image export

グラフをPNG画像としてダウンロードします。

ローデータ関連操作

集計データの元となったローデータに関する操作です。

aggregation rawdata

表示

選択した集計データの元となったローデータを画面に表示します。

ダウンロード

選択した集計データの元となったローデータをファイルとしてダウンロードします。

3. 集計の管理

3.1. Aggregationの作成

Aggregationアイコンを右クリックして 集計情報を作成する を選択してください。 集計タイプ(Simple/Crosstab)とエンティティ定義名を選択してください。

3.2. 設定

共通項目

設定可能な項目は下記となります。

設定項目 設定値

集計タイプ

集計タイプを選択します。

Simple

定型集計、エンティティのデータを集計、一覧表示する

Crosstab

定型集計、エンティティのデータをクロス集計、表示する

Entity定義名

集計タイプがSimple、Crosstabの場合に集計対象となるエンティティを選択します。

集計を特権で行う

権限設定に関わらず集計を行いたい場合にチェックします。 集計対象エンティティの参照権限がないユーザーにも集計結果の閲覧を許可したい場合等に利用します。

初期表示時にグラフと集計表を表示しない

初期表示時ではなく、検索ボタン押下時に初めてグラフと集計表を表示するようにしたい場合にチェックします。 ただし、フィルタ項目が1件以上設定されている必要があります。

集計結果を表示する

集計結果の表を表示したい場合にチェックします。 グラフは表示したいが、集計表は表示したくない、またはその逆の場合に利用します。

グラフを表示する

グラフを表示したい場合にチェックします。 グラフは表示したいが、結果表は表示したくない、またはその逆の場合に利用します。

集計表の上にグラフを表示する

集計表の上部にグラフを表示したい場合にチェックします。 デフォルト(未チェック状態)では集計表の下にグラフを表示します。 集計結果、グラフともに表示設定されている事が前提です。

グラフと集計表を並べて表示

集計表とグラフを横に並べて表示したい場合にチェックします。 集計結果、グラフともに表示設定されている事が前提です。 集計表の上にグラフを表示する がチェックされている場合は、 右:グラフ、左:集計表 になります。

ファイルダウンロードを許可する

集計画面でファイルダウンロードボタンを表示したい場合にチェックします。

File type

ダウンロードで利用するファイル形式を指定します。

CSV

CSVファイルを利用します。

EXCEL

EXCELファイルを利用します。

SPECIFY

CSVファイルかEXCELファイルのどちらを利用するかを画面で選択します。

未指定の場合は、MdcConfigServiceaggregationFileSupportType によって動作します。

File name format

ファイルダウンロード時のファイル名をGroovyTemplate書式を利用して指定します。 詳細はFile name formatを参照してください。

フィルタ項目

集計画面で利用可能なフィルタ項目を設定します。 詳細はフィルタ項目を参照してください。

Edit default filter

フィルターの初期条件を設定するスクリプトを記述できます。 詳細はEdit default filterを参照してください。

Edit Custom ViewScript

集計画面内に埋め込むEdit Custom ViewScriptを設定できます。 詳細はEdit Custom ViewScriptを参照してください。

File name format

ファイルダウンロード時のファイル名をGroovyTemplate書式を利用して指定します。 フォーマットが指定されている場合、ボタンに (*) が表示されます。 /とスペースについては、_(アンダースコア)に変換します。

利用可能なバインド変数は、編集ダイアログの Notes を参照してください。

(例)ファイル名の後ろに出力時の時間を付加する。
${csvName}_${yyyy}${MM}${dd}${HH}${mm}${ss}
フィルタ項目

集計画面で利用可能なフィルタ項目を設定します。 画面右側にある Properties より、フィルタ項目としたいプロパティをフィルタ項目表内部にドラッグ&ドロップします。 フィルタ項目のドラッグ&ドロップ後、対象フィルタ項目の右の鉛筆マークをクリックする事で下記設定が可能になります。

項目 設定値

プロパティ表示名

フィルタ項目としての表示名を指定します。

表示タイプ

プルダウン選択時は下部にある 追加 ボタンをクリックし、選択値を設定する必要があります。 プルダウンはプロパティの型によって設定できる項目が変化します。

選択値

表示タイプでプルダウンを選択した場合に、値と表示名をそれぞれ設定します。

また、必須列にある鉛筆マークをクリックすると、フィルタ条件を必須項目にするかを指定できます。 必須項目にした場合、さらに利用可能な比較演算子を指定できます。 なお、フィルタ条件の型により、予め利用可能な比較演算子は決まっています。 利用できない比較演算子を選択した場合、集計画面では表示されません。

Edit default filter

フィルターの初期条件を設定するスクリプトを記述できます。

項目 設定値

xxxConditionCount

同一の項目で複数の条件を指定する場合の件数を指定します。

xxx_ope_y

フィルタ時の比較演算子、指定できるのは以下となります。

  • EQ: 等しい

  • NE: 等しくない

  • SW: 前方一致

  • LW: 後方一致

  • IC: 含む

  • NIC: 含まない

  • IN: いずれかと等しい

  • LT: より小さい

  • GT: より大きい

  • LE: 以下

  • GE: 以上

  • RG: 範囲指定(範囲指定の場合のみ下記のように to パラメータが必要となります)

  • RD: 相対範囲(日付)

  • RDT: 相対範囲(日時)

  • NNL: 値が設定されている

  • NL: 値が設定されていない

xxx_y

フィルタ時の値、型によって指定の際の制約あり

Boolean型

trueまたはfalse

Date型

yyyyMMdd形式

Datetime型

yyyyMMddHHmmss形式

Reference型

エンティティのOID

Select型

SelectValueのvalue値

Time型

HHmmss形式

xxxはプロパティ名、集計定義のフィルタ設定のプロパティ定義名をそのまま設定(参照先の項目等は.付きで) yはインデックス(同一項目で複数指定の場合に注意)、0から指定して下さい。

以下はスクリプトの記述例になります。 バインドされているマップにキーと値を設定します。

initCondMap.put("pointConditionCount", "1");
initCondMap.put("point_ope_0", "LE");
initCondMap.put("point_0", "50");
Edit Custom ViewScript

集計画面にGroovyTemplateで記述されたテンプレートを表示します。
HTMLやスクリプト、Vue.jsのSFC形式(単一ファイルコンポーネント形式)などでテンプレートを記述できます。
テンプレートの実装方法の詳細については、コンポーネントカタログを参照してください。

設定項目 設定内容

Template Interpret Type

記述されたテンプレート文字列の解釈タイプです。以下の3つから選択できます。

HTML

HTMLとして解釈します。HTMLやスクリプトの記述が可能です。

VUE_SFC

Vue.jsのSFC形式(単一ファイルコンポーネント形式)で記述されたコンポーネントとして解釈します。

VUE_SFC_LIKE

Vue.jsのランタイムを用いてコンポーネントとして解釈します。MDCでは、Vue.jsのランタイムに加えてコンパイラもバンドルしており、Vue.jsのテンプレート構文を利用することが可能です。

ComponentName

コンポーネント名を設定します。 コンポーネント名は、英文字とハイフン(-)のみを利用したパスカルケースでの命名を推奨します。 Template Interpret TypeVUE_SFC_LIKE の場合、コンポーネント名の指定は必須です。 Template Interpret TypeVUE_SFC でコンポーネント名が未入力の場合、自動でランダムなコンポーネント名を割り当てます。

Script

スクリプト編集画面を表示してGroovyTemplateの文法に従って記述します。 詳細はGroovyTemplateを参照してください。

Precompile VUE_SFC format template

Vue.jsのSFC形式のテンプレートをプリコンパイルするかを指定します。Template Interpret TypeVUE_SFC であり、Vue.jsのSFC形式のテンプレートを定義保存時にプリコンパイルしておきたい場合にチェックします。プリコンパイルしておくことで、コンポーネントの初期化処理を高速化できます。

プリコンパイルの注意点
  • プリコンパイルを実行したい場合には、 ComponentName の指定が必須となります。

  • Script に記述したGroovyTemplateは、集計画面定義保存時に実行されてプリコンパイルされるため、リクエスト情報やセッション情報、ユーザー固有情報などを使用しないように注意してください。

単純集計

集計表設定

単純集計の集計表に関する設定です。

設定項目 設定値

集計用EQL

集計用のEQLを記述します。

設定例
select string001,sum(integer001),sum(integer002) from sample.aggregation.AggregationEntity001 group by string001 order by sum(integer001) desc

定義されたEQLはPreparedQueryとして処理されます。 次の変数がバインドされます。

filter

集計画面からエンドユーザーが入力したフィルター条件。 org.iplass.mtp.entity.query.condition.Condition のインスタンス。フィルター条件未指定の場合はnull

1ページにおける最大件数

表示項目の最大件数を指定します。 上記の例を利用した場合、集計項目となるstring001が対象となります。

合計行の表示有無

各集計項目の合計を表示したい場合にチェックします。 この設定を有効にしたい場合は 集計用EQL にてグループ化が必要となります。

ページングを非表示

ページング部品(前を表示、次を表示)を非表示にする場合にチェックします。 非表示にした際は、1ページにおける最大件数を利用せず、全データを取得します。 データ件数が多い場合、処理に時間がかかる場合があります。

ページング表示位置

ページング部品の表示位置を設定します。

BOTH

検索結果の上下に表示

TOP

検索結果の上部に表示

BOTTOM

検索結果の下部に表示

Interrupter Class

集計結果をカスタマイズしたい場合に、カスタマイズ処理を実装したJavaクラスまたはUtilityClassを指定します。 指定するClassは org.iplass.mtp.mdc.view.aggregation.SimpleAggregationViewInterrupter を実装する必要があります。 詳細はカスタム処理の組み込みを参照してください。

Interrupterクラスを指定した場合、ページングやローデータ出力は無効になります。
1ページにおける最大件数を利用せず全データを取得するため、利用する際は対象となるデータ件数を考慮してください。

集計項目

集計用EQLに記述した各集計項目のラベルを指定します。 詳細は集計項目を参照してください。

集計項目

集計用EQLに記述した各集計項目のラベルを指定します。 上記の例を利用した場合、sum(integer001)、 sum(integer002)の順に適用されます。 追加 ボタンをクリックすると下記ウィンドウが表示されます。

項目 設定値

表示ラベル

集計項目の表示ラベルを指定します。

小計行の非表示

合計行を表示する場合に設定可能な項目です。 指定した項目の小計行を非表示にする場合にチェックします。 group by句で指定したプロパティに対してのみ有効です。 なお、select句とgroup by句で指定したプロパティが一致しない場合、正しい動作にならないため、注意してください。

グループ化項目

ローデータを扱う場合に必要な項目です。 集計用EQLで指定したEQLのgroup by 句を指定します。 設定例を利用した場合、string001を指定します。

フォーマッタ

集計表に表示する際の数値のフォーマッタを指定します。 未指定、整数、小数の中から選択します。

配置

集計表に表示する際の数値の配置を指定します。 未指定、左寄せ、中央寄せ、右寄せの中から選択します。

列幅

集計表の列幅を指定します。

グラフ設定

X軸の設定のグラフタイプにより設定項目が変わります。

折れ線/棒グラフ

折れ線グラフ、棒グラフの設定項目です。

設定項目 設定値

グラフ高さ

グラフ表示時の高さを指定します。 単位はpx固定です。 数値のみの入力となります。

グラフ幅

グラフ表示時の幅を指定します。 単位はpxか%です。 省略した場合の単位はpxとなります。

(入力例: 800800px または 50%

X軸の設定:グラフタイプ

X軸のグラフタイプを以下の10パターンから選択します。 各グラフタイプにより入力項目が変化します。

線グラフ棒グラフ円グラフドーナツグラフバブルチャート散布図レーダーチャートピラミッドポーラーチャート

横軸列

集計用EQLで指定したEQLのgroup by句を指定します。 group by句が複数指定されている場合、グラフは正しく表示できない場合があります。

積み上げグラフ

グラフを積み上げグラフする場合にチェックします。 Y軸設定している場合は無効となります。

割合グラフで表示

積み上げグラフを各項目の値ではなく、項目の合計値に対する割合で表示します。

値表示方法

集計項目の値の表示方法を以下の3パターンから選択します。

非表示

グラフ上に値を表示しない

常に表示

グラフ上に値を表示する

マウスオーバー時

マウスオーバーした箇所の値を表示する

棒グラフの幅

グラフ表示時の棒グラフの幅を指定します。 単位はpxです。数値のみの入力となります。

項目のラベルを非表示

軸に表示しているラベルを非表示にする場合にチェックします。

各バーに異なる色を使用

棒グラフで同じ色を使わず、異なる色を使うようにします。

色の設定

グラフの各要素に使われる色を設定します。 未指定時はデフォルトの色が適用されます。

nullを0に変換

Y軸に指定された項目の値で、データがnullのものを0として扱います。 nullのままの場合、グラフ上には表示されません。

凡例を非表示

凡例を非表示にする場合にチェックします。

凡例の表示位置(location)

凡例の表示位置を以下の4パターンから選択します。

X軸のラベルの傾き

X軸のラベルの傾きを指定します。 単位は角度です。 数値のみの入力となります。

目盛りの数

目盛りの数を指定します。 数値を入力します。 線グラフの種類が 数値 の場合に入力可能です。

線グラフの種類

X軸の設定のグラフタイプが線グラフの場合のみ設定可能です。 以下の2パターンから選択します。

カテゴリ数値

数値フォーマット

集計項目の数値の表示方法を以下の3パターンから選択します。

未指定整数小数

小数の桁数

数値フォーマットで 小数 を選択した場合の必須項目です。

X軸の最大値

X軸の最大値を指定します。 数値を入力します。 線グラフの種類が 数値 の場合に入力可能です。

X軸の最小値

X軸の最小値を指定します。 数値を入力します。 線グラフの種類が 数値 の場合に入力可能です。

グリッド線を非表示

グリッド上に表示されている線を非表示にする場合にチェックします

グラフ対象アイテム

プルダウンからグラフ対象アイテムを選択します。 必須ではありませんが、設定しないと正しく表示されません。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

Y軸の最大値

Y軸の最大値を指定します。 数値を入力します。

Y軸の最小値

Y軸の最小値を指定します。 数値を入力します。

刻み幅

Y軸の刻み幅を指定します。 数値を入力します。

曲線で表示

線を曲線にする場合にチェックします。 グラフタイプが 線グラフ の場合のみ指定できます。

円/ドーナツグラフ/ポーラーチャート

円グラフ、ドーナツグラフとポーラーチャートの設定項目です。 下記以外については、折れ線/棒グラフを参照してください。

設定項目 設定値

円に表示するラベル

円グラフでデータを表示する際の表示方法を設定します。

バブルチャート/散布図

バブルチャートと散布図の設定項目です。 下記以外については、折れ線/棒グラフを参照してください。

設定項目 設定値

nullを0に変換

X軸、Y軸に指定された項目の値で、データがnullのものを0として扱います。 nullのままの場合、グラフ上には表示されません。

X軸列

プルダウンからX軸列を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

Y軸列

プルダウンからY軸列を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

Z軸列

プルダウンからZ軸列を選択します。 本項目がバブルの大きさと対応します。 バブルチャートのみプルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

ラベル列

プルダウンからラベル列を選択します。 バブル内にラベルを表示します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

系列

プルダウンから系列を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

倍率(バブルチャートのみ)

Z軸の大きさの倍率を入力します。 未指定の場合は1となります。

マーカーサイズ(散布図のみ)

散布図の円のサイズを指定します。

ピラミッド

ピラミッドの設定項目です。 下記以外については、折れ線/棒グラフを参照してください。

設定項目 設定値

集計軸

プルダウンから集計軸を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

集計項目

プルダウンから集計項目を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

対比項目

プルダウンから対比項目を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

系列

プルダウンから系列項目を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

2目盛り毎に色分け

集計軸を2目盛り毎に色を分けるかを選択します。

レーダーチャート

レーダーチャートの設定項目です。 下記以外については、折れ線/棒グラフを参照してください。

設定項目 設定値

項目

プルダウンから項目を選択します。 プルダウンには集計表設定の集計項目で指定した表示ラベルが選択可能な状態になっています。

アノテーション(基準線・領域・ポイント)

グラフ上にライン、ボックス(矩形領域)、ポイント(点)のアノテーションを描画できます。 アノテーションタイプにより設定項目が変わります。

アノテーションは円グラフ、ドーナツグラフ、ポーラーチャート、レーダーチャート、ピラミッドには適用されません。
線(Line)

グラフ上に直線を描画します。

設定項目 設定値

アノテーションタイプ

アノテーションの種類を選択します。

ボックスポイント

表示

アノテーションを表示するかを設定します。 デフォルトは有効です。

ボーダーカラー

線の色を設定します。

ボーダー幅

線の幅を設定します。 数値を入力します。

ボーダースタイル

線のスタイルを選択します。

SOLID

実線

DASHED

破線

スケールID

アノテーションを紐付ける軸を選択します。

X

X軸に沿った線を描画します

Y

Y軸に沿った線を描画します

線を描画する位置の値を指定します。 数値を入力します。

終了値

範囲指定の場合の終了位置の値を指定します。 数値を入力します。 終了値 の両方を指定すると、斜線が描画されます。

ラベル表示

ラベルを表示するかを設定します。

ラベルテキスト

線に付与するラベルの文字列を設定します。

ラベル色

ラベルの文字色を設定します。

ラベル背景色

ラベルの背景色を設定します。

ボックス(Box)

グラフ上に矩形領域を描画します。 下記以外については、線(Line)を参照してください。

設定項目 設定値

X最小値

ボックスのX軸方向の開始位置を指定します。 数値を入力します。

X最大値

ボックスのX軸方向の終了位置を指定します。 数値を入力します。

Y最小値

ボックスのY軸方向の開始位置を指定します。 数値を入力します。

Y最大値

ボックスのY軸方向の終了位置を指定します。 数値を入力します。

背景色

ボックスの塗りつぶし色を設定します。

ポイント(Point)

グラフ上に円形のポイントマーカーを描画します。 下記以外については、線(Line)を参照してください。

設定項目 設定値

X値

ポイントのX座標を指定します。 数値を入力します。

Y値

ポイントのY座標を指定します。 数値を入力します。

半径

ポイントの円の半径を指定します。 数値を入力します。

背景色

ポイントの塗りつぶし色を設定します。

カスタムプラグイン

Chart.jsのカスタムプラグインを定義し、グラフの描画やイベント処理を拡張できます。 プラグインはChart.jsのライフサイクルフックに対応したJavaScriptオブジェクトとして記述します。

設定項目 設定値

有効

プラグインを有効にするかを設定します。 無効にしたプラグインはグラフに適用されません。

プラグインスクリプトID

プラグインの識別IDを設定します。 Chart.jsのプラグインシステムにおいてプラグインの id プロパティとして登録されます。

スクリプト

Chart.jsのカスタムプラグインを定義するJavaScriptを記述します。 記述内容はJavaScriptオブジェクトのプロパティとして解釈されます。

カスタムプラグインの記述例

グラフ描画後にチャートエリアの背景色を設定する

beforeDraw(chart) {
  const { ctx, chartArea } = chart;
  if (!chartArea) return;
  ctx.save();
  ctx.fillStyle = 'rgba(240, 248, 255, 0.5)';
  ctx.fillRect(chartArea.left, chartArea.top,
    chartArea.right - chartArea.left,
    chartArea.bottom - chartArea.top);
  ctx.restore();
}

グラフの色の設定項目です。

設定項目 設定値

グラフの色を設定します。

ローデータ設定

ローデータ出力時の項目などの設定です。

設定項目 設定値

allow the output of raw data

ローデータの出力許可。集計表やグラフからローデータの取得が可能となります。 集計表で出力したい行を選択(複数選択可)し、右クリックでコンテキストメニューを開きます。 グラフの場合は対象のデータをクリックして選択し、右クリックでコンテキストメニューから出力します。

本項目にチェックをした場合のみ、コンテキストメニューにローデータが表示されます。

File type

ダウンロードで利用するファイル形式を指定します。

CSV

CSVファイルを利用します。

EXCEL

EXCELファイルを利用します。

SPECIFY

CSVファイルかEXCELファイルのどちらを利用するかを画面で選択します。

未指定の場合は、MdcConfigServicerawDataAggregationFileSupportType によって動作します。

File name format

ファイルダウンロード時のファイル名をGroovyTemplate書式を利用して指定します。 詳細はFile name formatを参照してください。

File multiple format

ファイルダウンロード時の多重度が複数のプロパティの出力形式を指定します。

Each Column

多重度の数分別々の列に出力します。

One Column

1つの列にカンマ区切りでまとめて出力します。

One Column Fill Null

1つの列にカンマ区切りでまとめて出力します。 登録データが多重度分保存されていない場合にも多重度分空を補完します。

raw data Query

ローデータ取得用Query。
例)集計用EQLに以下が設定されている場合

select string001,sum(integer001),sum(integer002) from sample.aggregation.AggregationEntity001 group by string001 order by sum(integer001) desc

ローデータ取得用Queryに下記を設定します。

select integer001,integer002 from sample.aggregation.AggregationEntity001

定義されたEQLはPreparedQueryとして処理されます。 次の変数がバインドされます。

filter

集計画面からエンドユーザーが入力したフィルター条件。 org.iplass.mtp.entity.query.condition.Condition のインスタンス。フィルター条件未指定の場合はnull

raw data item

ローデータ出力項目のラベル、多重度を指定します。 上記の例を利用した場合、integer001, integer002に対応します。 Referenceプロパティに対する多重度は1を指定してください(行が分かれるため)。

カスタム処理の組み込み

カスタム処理を実装することで集計結果のカスタマイズが可能になります。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを Interrupter Class に指定します。

org.iplass.mtp.mdc.view.aggregation.SimpleAggregationViewInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

afterAggregate

condition : MdcSimpleCrosstabAggregationCondition

List<Map<String, Object>>

集計結果を元にデータを編集します。 編集した結果を返します。

data :List<Map<String, Object>>

SimpleAggregationViewInterrupterの例
package sample.aggregation;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.iplass.mtp.mdc.command.view.aggregation.condition.MdcSimpleCrosstabAggregationCondition;
import org.iplass.mtp.mdc.view.aggregation.SimpleAggregationViewInterrupter;

public class SampleSimpleInterrupter implements SimpleAggregationViewInterrupter {

    @Override
    public List<Map<String, Object>> afterAggregate(MdcSimpleCrosstabAggregationCondition condition, List<Map<String, Object>> data) {
        Map<String, Object> row = new HashMap<>();
        row.put("Company", "東京○○支社B");
        row.put("Year", "2026");
        row.put("Income", "485");
        data.add(row);
        return data;
    }

}

クロス集計

集計表設定

クロス集計の集計表に関する設定です。

設定項目 設定値

デフォルトフィルタ条件

EQLのWhere句を指定することで、一律に指定した検索条件を有効にする事が可能です。

定義されたEQLはPreparedQueryとして処理されます。 次の変数がバインドされます。

filter

集計画面からエンドユーザーが入力したフィルター条件。 org.iplass.mtp.entity.query.condition.Condition のインスタンス。フィルター条件未指定の場合はnull

合計行を表示

合計行を表示する場合にチェックします。 集計表に各列の合計値を表示します。

合計列を表示

合計列を表示する場合にチェックします。 集計表に各行の合計値を表示します。

Interrupter Class

集計結果をカスタマイズしたい場合に、カスタマイズ処理を実装したJavaクラスまたはUtilityClassを指定します。 指定するClassは org.iplass.mtp.mdc.view.aggregation.CrosstabAggregationViewInterrupter を実装する必要があります。 詳細はカスタム処理の組み込みを参照してください。

Interrupterクラスを指定した場合、ローデータ出力は無効になります。

表側、表頭の集計対象のプロパティ

表頭となるプロパティを指定します。 詳細は表頭/表側を参照してください。

集計結果の集計対象のプロパティ

集計結果の集計対象となるプロパティを指定します。 詳細は集計結果を参照してください。

表頭/表側

緑のエリアには画面右側のPropertiesよりドラッグ&ドロップすることで、表頭/表側となる項目を指定できます。 集計項目の種類により設定する項目が変わります。

設定項目 設定値

集計項目の種類

下記2パターンから集計項目を選択します。

カテゴリカルデータ数量データ

表示名

集計結果項目の表示名を指定します。 表頭の場合のみグラフのラベルとして表示されます。

合計カテゴリのラベル

集計項目合計値のラベルを指定します。

列幅

集計表の列幅を指定します。 表側の集計項目のみ設定可能で、表頭の設定時には表示されません。 ここで設定した値は表側のヘッダ部分にのみ適用されます。 表頭部分及びデータ部分は集計結果の列幅が適用されます。

カスタムアイテムを利用して複数項目指定した場合、親項目列(子項目以外を組合せ)と子項目列の2列に別れます。 親項目列の幅は各親項目に指定された列幅の合計が適用され、子項目列の幅は子項目に指定された列幅が適用されます。

プロパティ名

集計対象のプロパティ名を指定します。 プロパティ名だけでなく数式(PreparedQuery)も指定可能です。

ソート順

集計結果のソート順を指定します。 集計項目の種類がカテゴリカルデータの場合のみ有効となります。

カテゴリ

集計したデータの表示名になり、表頭/表側に表示するラベルになります。 プロパティの値に対応するカテゴリを設定します。 集計項目の種類が数量データの場合は必須項目になります。

集計結果

画面右側のPropertiesよりドラッグ&ドロップすることで、集計結果の対象となる項目を指定できます。

設定項目 設定値

表示名

本項目は汎用画面のどこにも出力されることはありません。 管理上必要となる項目です。

数式

表側、表頭の各合計値を集計する為の項目です。 プロパティをドラッグ&ドロップすることで count(プロパティ名) が設定されます。 その他数式も設定可能です。

フォーマッタ

集計表に表示する際の数値のフォーマッタを指定します。 未指定、整数、小数の中から選択します。

配置

集計表に表示する際の数値の配置を指定します。 未指定、左寄せ、中央寄せ、右寄せの中から選択します。

列幅

集計表に表示する際の列の幅を指定します。

カスタム項目

デフォルトでプロパティ名が入ってない項目です。 プロパティを組み合わせた数式を指定する事が可能です。

グラフ設定

クロス集計のグラフに関する設定です。

設定項目 設定値

グラフタイプ

グラフタイプを以下の3パターンから選択します。

棒グラフ線グラフ円グラフ

主軸

主軸を指定します。 表頭、表側のいずれかを選択可能です。

グラフ高さ

グラフ表示時の高さを指定します。 単位はpx固定です。 数値のみの入力となります。

グラフ幅

グラフ表示時の幅を指定します。 単位はpxか%です。 省略した場合の単位はpxとなります。

(入力例: 800800px または 50%

Y軸の最大値

Y軸の最大値を指定します。 数値を入力します。

Y軸の最小値

Y軸の最小値を指定します。 数値を入力します。

積み上げグラフ

棒グラフ表示時に指定可能です。

割合グラフで表示

積み上げグラフを各項目の値ではなく、項目の合計値に対する割合で表示します。

刻み幅

Y軸の刻み幅を指定します。 数値を入力します。

値表示方法

集計項目の値の表示方法を以下の3パターンから選択します。

非表示常に表示マウスオーバー時

X軸のラベルの傾き

X軸のラベルの傾きを指定します。 単位は角度です。 数値のみの入力となります。

数値のフォーマット

集計項目の数値の表示方法を以下の3パターンから選択します。

未指定整数小数

小数の桁数

数値フォーマットで 小数 を選択した場合の必須項目です。

棒グラフの幅

グラフ表示時の棒グラフの幅を指定します。 単位はpxです。数値のみの入力となります。

X軸のグリッド線を非表示

グリッド上に表示されているX軸の線を非表示にする場合にチェックします

Y軸のグリッド線を非表示

グリッド上に表示されているY軸の線を非表示にする場合にチェックします

項目のラベルを非表示

軸に表示しているラベルを非表示にする場合にチェックします。

曲線で表示

線を曲線にする場合にチェックします。 グラフタイプが 線グラフ の場合のみ指定できます。

各バーに異なる色を使用

棒グラフで同じ色を使わず、異なる色を使うようにします。

色の設定

グラフの各要素に使われる色を設定します。 未指定時はデフォルトの色が適用されます。

nullを0に変換

X軸、Y軸に指定された項目の値で、データがnullのものを0として扱います。 nullのままの場合、グラフ上には表示されません。

凡例を非表示

凡例を非表示にする場合にチェックします。

凡例の表示位置(location)

凡例の表示位置を以下の4パターンから選択します。

ローデータ設定

ローデータ出力時の項目などの設定です。

設定項目 設定値

allow the output of raw data

ローデータの出力許可。集計表からローデータの取得が可能となります。 集計表で出力したいセルや行を選択(複数選択可)し、右クリックでコンテキストメニューを開きます。 グラフの場合は対象のデータをクリックして選択し、右クリックでコンテキストメニューから出力します。

本項目にチェックをした場合のみ、コンテキストメニューにローデータが表示されます。

File type

ダウンロードで利用するファイル形式を指定します。

CSV

CSVファイルを利用します。

EXCEL

EXCELファイルを利用します。

SPECIFY

CSVファイルかEXCELファイルのどちらを利用するかを画面で選択します。

未指定の場合は、MdcConfigServicerawDataAggregationFileSupportType によって動作します。

File name format

ファイルダウンロード時のファイル名をGroovyTemplate書式を利用して指定します。 詳細はFile name formatを参照してください。

File multiple format

ファイルダウンロード時の多重度が複数のプロパティの出力形式を指定します。

Each Column

多重度の数分別々の列に出力します。

One Column

1つの列にカンマ区切りでまとめて出力します。

One Column Fill Null

1つの列にカンマ区切りでまとめて出力します。 登録データが多重度分保存されていない場合にも多重度分空を補完します。

raw data item

ローデータの対象となる項目を設定します。 ローデータ表示時のラベルと、出力項目の値式、多重度を指定してください。 値式にはプロパティ名だけでなく数式(PreparedQuery)が指定可能です。 Referenceプロパティに対する多重度は1を指定してください(行が分かれるため)。

distinctRawData(重複データを1つにまとめて出力)はMDC版では非サポートです。
カスタム処理の組み込み

カスタム処理を実装することで集計結果のカスタマイズが可能になります。

以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを Interrupter Class に指定します。

org.iplass.mtp.mdc.view.aggregation.CrosstabAggregationViewInterrupter

処理一覧
メソッド 引数 戻り値 処理内容

afterAggregate

condition : MdcSimpleCrosstabAggregationCondition

data :List<List<Object>>

集計結果を元にデータを編集します。 編集した結果を返します。

data :List<List<Object>>

CrosstabAggregationViewInterrupterの例
package sample.aggregation;

import java.util.List;

import org.iplass.mtp.mdc.command.view.aggregation.condition.MdcSimpleCrosstabAggregationCondition;
import org.iplass.mtp.mdc.view.aggregation.CrosstabAggregationViewInterrupter;

public class SampleCrosstabInterrupter implements CrosstabAggregationViewInterrupter {

    @Override
    public List<List<Object>> afterAggregate(MdcSimpleCrosstabAggregationCondition condition, List<List<Object>> data) {
       // 集計結果が0件またはnullの場合はそのまま返す
        if (data == null || data.isEmpty()) {
            return data;
        }
        List<Object> lastRow = data.get(data.size() - 1);
        for (int i = 0; i < lastRow.size(); i++) {
            Object value = lastRow.get(i);
            // パーセント表記に変換
            if (value instanceof Number) {
                Number num = (Number) value;
                lastRow.set(i, num.doubleValue() * 100 + "%");
            } else {
                lastRow.set(i, "0%");
            }
        }
        data.set(data.size() - 1, lastRow);

        return data;
    }
}

3.3. 表示方法

Aggregationはメニューとして登録する方法が存在します。

メニューへの登録

集計画面を表示するにはメニューにActionMenuItemを登録します。 ActionMenuItemには雛型として mdc/aggregation/unit/viewAggregation/index というメニューアイテムがあります。 このActionMenuItemをコピーしてメニューアイテムを編集してください。

項目 設定値

Name

管理しやすいように設定してください。

DisplayName

メニューの表示名になります。

Execute Action

mdc/aggregation/unit/viewAggregation/index を指定してください。

Parameter

集計定義名を設定することができます。
defName=XXX&xxxConditionCount=2&xxx_ope_0=GT&xxx_0=999