DS2

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行に収まらないとき

  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-ddyyyy/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