クラス TableFilter_KEY_BREAK
java.lang.Object
org.opengion.hayabusa.db.AbstractTableFilter
org.opengion.plugin.table.TableFilter_KEY_BREAK
- すべての実装されたインタフェース:
TableFilter
TableFilter_KEY_BREAK は、TableFilter インターフェースを継承した、DBTableModel 処理用の
実装クラスです。
ここでは、指定のカラムに対して、キーブレイクが発生したときのデータ処理方法を指定できます。
主として、グルーピング処理を行うのですが、ソートされデータの並び順で、キーブレイクするため、
同一キーが存在していても、並び順が離れている場合、別のキーとしてブレイクします。
GROUP_KEY : キーブレイクの判定を行うカラムを、CSV形式で設定します。
OUT_TYPE : 出力するデータのタイプを指定します。
first : 最初のデータ(ブレイク直後のデータ)を出力します。(初期値)
last : 最後のデータ(ブレイク直前のデータ)を出力します。
range : 最初のデータと最後のデータを出力します。
firstは、キーブレイク時のデータを残します。つまり、キーの最初に現れたデータです。
lastは、キーブレイクの直前のデータを残します。これは、同一キーの最後のデータということになります。
rangeは、firstと、last つまり、同値キーの最初と最後のデータを残します。
もし、キーが、1行だけの場合、firstも、lastも、同じ行を指すことになります。
その場合、rangeは、その1行だけになります(2行出力されません)。
例:機種と日付と、状況Fがあったとして、日付、機種、状況F でソートし、機種をグループキー、
状況Fをブレイクキーとすれば、日付の順に、機種の中で、状況Fがブレークしたときのみ、
データを残す、ということが可能になります。7.0.0.1 (2018/10/09) Delete
OUT_TYPE に、lastか、range を指定した場合のみ、最大、最小、平均、中間、個数の集計処理が行えます。
これらの設定は、指定のカラムのデータに反映されます。
MIN_CLM : キーブレイク時に、指定のカラムの最小値をデータに書き込みます。
MAX_CLM : キーブレイク時に、指定のカラムの最大値をデータに書き込みます。
AVG_CLM : キーブレイク時に、指定のカラムの平均値をデータに書き込みます。
MID_CLM : キーブレイク時に、指定のカラムの最小値と最大値の中間の値をデータに書き込みます。
DIF_CLM : キーブレイク時に、指定のカラムの最大値から最小値を引いた値(差)をデータに書き込みます。8.0.1.2 (2021/11/19)
CNT_CLM : キーブレイク時に、指定のカラムのデータ件数をデータに書き込みます。
これらのカラムの値は、数値で表現できるもので無ければなりません。
例えば、20180101000000 のような、日付でも数字のみなら、OKです。
8.0.1.2 (2021/11/19) DIF_CLM 差分計算
8桁か14桁で、先頭"20"の場合は、日付型と判定します。
その場合、8桁は、経過日数を返し、14桁は、MM/dd HH:mm 形式で返します。
パラメータは、tableFilterタグの keys, vals にそれぞれ記述するか、BODY 部にCSS形式で記述します。
- 変更履歴:
- 6.7.9.1 (2017/05/19) 新規追加, 7.0.0.1 (2018/10/09) グループで、まとめる処理を止めます。, 7.0.1.1 (2018/10/22) ロジック見直し
- 形式サンプル:
- ●形式: ① <og:tableFilter classId="KEY_BREAK" keys="GROUP_KEY,OUT_TYPE" vals='"CLM5,CLM6....",first' /> ② <og:tableFilter classId="KEY_BREAK" > { GROUP_KEY : CLM5,CLM6.... ; OUT_TYPE : first ; } </og:tableFilter>
- 導入されたバージョン:
- JDK1.8,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractTableFilter
BUFFER_MIDDLE, CR, EXEC_END_TAG, EXEC_EXISTS_0_TAG, EXEC_START_TAG, execEndTag, execExistsSQL, isXml, XML_END_TAG, XML_START_TAG
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractTableFilter
getDbid, getDBTableModel, getErrorCode, getErrorMessage, getKeys, getModifyType, getParameterRows, getResource, getReturnMap, getSql, getTableColumnNo, getTransaction, getValue, getViewMarker, initSet, isDebug, makeErrorMessage, setDbid, setDBTableModel, setDebug, setKeysVals, setModifyType, setParameterRows, setParamMap, setResource, setSql, setTransaction, setValue, setViewMarker
-
コンストラクタの詳細
-
TableFilter_KEY_BREAK
public TableFilter_KEY_BREAK()デフォルトコンストラクター- 変更履歴:
- 6.7.9.1 (2017/05/19) 新規追加, 7.0.0.1 (2018/10/09) 最小,最大,平均,件数 を集計するためのキーワード追加, 7.0.1.3 (2018/11/12) MID_CLM(最小値と最大値の中間の値)のキーワード追加, 8.0.1.2 (2021/11/19) DIF_CLM(最大値から最小値を引いた値(差))のキーワード追加
-
-
メソッドの詳細
-
execute
DBTableModel処理を実行します。- 戻り値:
- 処理結果のDBTableModel
- 変更履歴:
- 6.7.9.1 (2017/05/19) 新規追加, 7.0.0.1 (2018/10/09) 最小,最大,平均,件数 を集計するためのキーワード追加, 7.0.1.1 (2018/10/22) ロジック見直し, 7.0.1.3 (2018/11/12) MID_CLM(最小値と最大値の中間の値)のキーワード追加, 7.2.4.0 (2020/05/11) MIN_CLMとMAX_CLMが不定の場合は、ゼロ文字列をセットします。, 8.0.1.2 (2021/11/19) DIF_CLM(最大値から最小値を引いた値(差))のキーワード追加
-