DS2
- if-then/elseステートメント
- do untilステートメント
- methodステートメント
- dataステートメント
- selectステートメント
- jsonパッケージ > getNextTokenメソッド
- httpパッケージ > executeMethodメソッド
- httpパッケージ > setResponseBodyCharacterSetメソッド
- httpパッケージ > addSASOAuthTokenメソッド
- YYMMDDxw. 出力形式
- BESTw. 出力形式
- 式の演算子
- DS2言語の予約語
- leaveステートメント
if-then/elseステートメント
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p1swn0a4ufdvn3n1e67d75roy6ns.htm
do untilステートメント
条件が真になるまで、処理をループする。 https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p0p2sapr15j0z4n14o4b0v1i2xb7.htm#n0y0tj44j79ow1n15beup6finonl
proc ds2;
data _null_;
method run();
k = 1;
do until(k > 6);
k = k + 1;
end;
end; /* method end*/
enddata;
end;
methodステートメント
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p0vkktkd156jhqn11izdgfpg0hou.htm
dataステートメント
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n1ew9uzutoyamjn1kzz8f194xhes.htm
selectステートメント
CASE文を記述する。 https://go.documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n01kskkbawu6isn1vee8uw50jzvu.htm
- 基本の書き方
select(variable); when(1) 処理1; when(2) 処理2; end;
- 個別の処理行が1行に収まらないときは、do; 〜 end;で括る。
select(variable); when(1); do; 処理1; end; when(2); do; 処理2; end; end;
- どれにも該当しないときの処理行は、whenの代わりにotherwiseで記述する。
▼基本の書き方
select(variable);
when(1) 処理1;
when(2) 処理2;
end;`
▼個別の処理行が1行に収まらないとき
select(variable);
when(1); do;
処理1-1;
処理1-2;
処理1-3;
end;
when(2) 処理2;
end;`
▼より細かい条件式で分岐したいとき
mon = 'JUN';
temp = 30
select;
when (mon in ('JUN', 'JUL', 'AUG') and temp > 28);
put 'SUMMER ' mon=;
when (mon in ('MAR', 'APR', 'MAY'));
put 'SPRING ' mon=;
otherwise;
put 'FALL OR WINTER ' mon=;
end;
jsonパッケージ > getNextTokenメソッド
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n1qnsau40tm51pn169k767jyw7is.htm
httpパッケージ > executeMethodメソッド
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n1we0n5bkmxyj3n1oglx8is6ogqo.htm
httpパッケージ > setResponseBodyCharacterSetメソッド
UTF-8を指定したいときは、 http_pkg.setResponseBodyCharacterSet('UTF-8')とする。
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n057ts3z5uqaemn1vtd7vayor79q.htm
httpパッケージ > addSASOAuthTokenメソッド
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p0wc0obw28cy6wn1q8kvblfjf6vc.htm
YYMMDDxw. 出力形式
yyyy-mm-ddやyyyy/mm/ddといった形式でSAS日付値を出力する。
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n02pxkowzaiavfn1lwe6v95ps5pg.htm
BESTw. 出力形式
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p06s6plgjq7rugn1fdf0sckkz0hx.htm
式の演算子
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2pg/p0vinswrxk1819n1qizkibfin0cy.htm
算術演算子
| 演算子 | 機能 |
|---|---|
| + | 加算 |
| - | 減算 |
| * | 乗算 |
| / | 除算 |
| ** | 累乗 |
| >< | 左辺右辺の最小値を取得 |
| <> | 左辺右辺の最大値を取得 |
関係演算子
関係を満たすとき(True)は1、そうでないとき(False)は0を返す。
(データグリッド関数等で指定する際は、単一引用符'で括る)
| 演算子 | 機能 |
|---|---|
| =, eq | 等しい(Equal) |
| ^=, ~=, ne | 等しくない(Not Equal) |
| >, gt | より大きい(Greater Than) |
| >=, ge | 以上(Greater Equal) |
| <, lt | より小さい(Lesser Than) |
| <=, le | 以下(Lesser Equal) |
論理演算子
| 演算子 | 機能 | 備考 |
|---|---|---|
| not, ^, ~ | 論理否定 | not ~のように前置する。 |
| or, |, ! | 論理和 | |
| and, & | 論理積 |
IN演算子
リスト内に存在しているかどうかを判定する
| 式 | 入力値 | 判定値 |
|---|---|---|
a in (1, 2, 3) |
a = 1 | 1(True) |
a not in (1, 2, 3) |
a = 1 | 0(False) |
その他の演算子
| 内容 | 演算子 |
|---|---|
| 文字列を結合する | ||, !! |
DS2言語の予約語
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2pg/p1rnsddd78roken1tlwnfk4poavl.htm
leaveステートメント
ループ処理を中断し、ループの外の処理を継続する。
https://documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/p1irdset32xggmn1c7dwqmthxvnd.htm