データグリッド関数
- jsonテキストからデータグリッドを生成する
- データグリッドを複製する
- 列定義を保持したまま、行だけを削除する
- 列を追加する
- 列を削除する
- 行を追加する
- 行を削除する
- データグリッド内の値を取得する
- 値を代入する
- 条件に一致する行のうち、1番目の行から値を取得する
- 条件に一致する行のうち、1番目の行番号を取得する
- 行数を取得する
- 指定列の合計値を取得する
- 列名と条件を指定し、条件に一致する行数を取得する
- データグリッドをソートする
- jsonテキストとして内容を取得する
- 内容をログに出力する
- 2つのデータグリッドとそのカラム名を指定し、値が一致している行数を算出する
- 2つのデータグリッドを縦方向に結合する
jsonテキストからデータグリッドを生成する
DATAGRID_CREATE関数
DATAGRID_CREATE(dataGrid, jsonString);
/* 使用例 */
dcl package datagrid dg();
jsonString = '[{"metadata":[{"column_1":"string"}]},{"data":[["text1"], ["text2"]]}]';
DATAGRID_CREATE(dg, jsonString);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p1b00g0lvqulmxn196x7y6q92yxb.htm
データグリッドを複製する
DATAGRID_COPY関数
DATAGRID_COPY(sourceDataGrid, targetDataGrid)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p0ff2os5c08sj7n1oel2xofoqyny.htm
列定義を保持したまま、行だけを削除する
DATAGRID_CLEARDATA関数
DATAGRID_CLEARDATA(dataGrid)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1shy8y4bvhh6gn112k7w50mpifx.htm
列を追加する
DATAGRID_ADDCOLUMN関数
DATAGRID_ADDCOLUMN(dataGrid, columnName, columnType);
- columnTypeに想定外の値が入っている場合、列の追加は行われない。
- 使える型名は以下。
- boolean, bool, double, decimal, integer, int, long, string
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1djgke34f9wdhn15rsisdozptej.htm
列を削除する
DATAGRID_DELETECOLUMN関数
DATAGRID_DELETECOLUMN(dataGrid, columnName);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n07yra1v2tnuxdn1ei3rsz8lzi2h.htm
行を追加する
DATAGRID_ADDROW関数
DATAGRID_ADDROW(データグリッド変数, <任意>追加する行数)
下記のように記述すると「追加した行は今何行目にあるか」を取得することができる。
(関数の返り値として整数が返ってくる為)
datagrid_rownum = DATAGRID_ADDROW(dataGrid);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n109izonc0diazn0z2gy6wqehync.htm
行を削除する
DATAGRID_DELETEROW ... 行を削除する
DATAGRID_DELETEROW(dataGrid, deleteRowNumber);
行番号を指定し、データグリッドの行を削除する。
DATAGRID_DELETEROW(dataGrid, 5);
複数行削除する場合は下記のように記述する。(この場合、5~8行目が削除される)
DATAGRID_DELETEROW(dataGrid, 5, 8);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n0cx6kthm2pdkgn1l2zlad29nlel.htm
データグリッド内の値を取得する
DATAGRID_GET関数
value = DATAGRID_GET(dataGrid, columnName, rowNumber)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n04ham6nlknk8ln17nuk76nue4vw.htm
値を代入する
DATAGRID_SET関数
DATAGRID_SET(dataGrid, columnName, rowNumber, settingValue)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p0danjcrv2wxttn1isg5kq69rcb2.htm
条件に一致する行のうち、1番目の行から値を取得する
DATAGRID_FILTEREDGET ... 条件に一致する行のうち、1番目の行から値を取得する
条件に一致する行のうち、1番目の行から値を取得する。 (条件を満たす行が複数存在する場合は、最初に条件と一致した行から値を取得する)
DATAGRID_FILTEREDGET(dataGrid, columnName, filterColumnName, operator, filterValue)
/* 使用例 */
status = DATAGRID_FILTEREDGET(DebtEval, 'approvalStatus', 'riskGroup', 'EQ', 'Low')
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1mwcqt8wn70gxn17vwqtle2lgod.htm
条件に一致する行のうち、1番目の行番号を取得する
DATAGRID_FILTEREDGETINDEX ... 条件に一致する行のうち、1番目の行番号を取得する
条件に一致する行のうち、1番目の行番号を取得する。
(条件を満たす行が複数存在する場合は、最初に条件と一致した行の番号を取得する)
DATAGRID_FILTEREDGETUINDEX(dataGrid, columnName, filterColumnName, operator, filterValue)
/* 使用例 */
row_num = DATAGRID_FILTEREDGETINDEX(DebtEval, 'approvalStatus', 'riskGroup', 'EQ', 'Low')
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n15xvdgven63q0n1rnu3uktmf9cq.htm
行数を取得する
DATAGRID_COUNT関数
row_count = DATAGRID_COUNT関数(dataGrid);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p0wg7r5h8ayh0bn173vtjch62vql.htm
指定列の合計値を取得する
DATAGRID_SUM ... 指定列の合計値を取得する
DATAGRID_SUM(dataGrid, column)
/* 使用例 */
payment_sum = DATAGRID_SUM(dataGrid, 'payment');
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p1du23931dz4tgn1vdf3ahx05qbe.htm
列名と条件を指定し、条件に一致する行数を取得する
DATAGRID_MATCHCOUNT関数
row_count = DATAGRID_MATCHCOUNT(dataGrid, column_name, operator, match_value);
/* 記述例 */
row_count = DATAGRID_MATCHCOUNT(dataGrid, 'is_complete_flg', '=', 'Y');
使える演算子は以下。
| Operator | Description |
|---|---|
| EQ, =, == | 一致する |
| NE, !=, ^=, <> | 一致しない |
| GT, > | よりも大きい |
| LT, < | よりも小さい |
| LE, <= | 以下 |
| GE, >= | 以上 |
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1ic8wboejbzb6n11vltlxtnz2is.htm
データグリッドをソートする
DATAGRID_SORT関数 ... データグリッドをソートする
DATAGRID_SORT(sourceDataGrid, sortColumn, sortOrder, targetDataGrid)
sortOrderには'A'(昇順)または'D'(降順)を指定する。
DATAGRID_ADDROW(dataGrid, 'column1', 'A', dataGridSorted);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n08c59acvwpzx3n1pf4z22crgobo.htm
jsonテキストとして内容を取得する
DATAGRID_TOSTRING関数
str = DATAGRID_TOSTRING(dataGrid);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1d2o8h7l2hbxfn17wrmnkg2zulw.htm
内容をログに出力する
DATAGRID_DUMPTOLOG関数
DATAGRID_DUMPTOLOG(データグリッド変数)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/p1da42svmyhzygn1r1f2uq10ntsh.htm
2つのデータグリッドとそのカラム名を指定し、値が一致している行数を算出する
DATAGRID_GRIDMATCHCOUNT関数
row_count = DATAGRID_GRIDMATCHCOUNT(dataGrid1, dataGrid2, column1, column2);
row_count = DATAGRID_GRIDMATCHCOUNT(dataGrid1, dataGrid2, keyColumn);
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n1j3q1ssilim7qn16y4q1wwkje0x.htm
2つのデータグリッドを縦方向に結合する
DATAGRID_APPEND ... 2つのデータグリッドを縦方向に結合する
DATAGRID_APPEND(dataGrid1, dataGrid2)
dataGrid2の行を、dataGrid1に追加する。
返り値として、縦結合後のデータグリッドの行数を返す。
rownum = DATAGRID_APPEND(dataGrid1, dataGrid2)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmdatagrids/n0plj4pbqiaxwnn1gzcgik62kxf7.htm