データグリッド関数


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);

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