IF SAS SAS Base Programming WHERE

【SAS】計算で求められた変数に対するIFとWHEREの振舞いの違い【SAS Base Programming対策1】

投稿日:2021年12月20日 更新日:


/* where id3 */
data data1;
    id1=1111; id2=1111; id3=1111;
      output;
    id1=2222; id2=2222; id3=2222;
      output;
    id1=3333; id2=3333; id3=3333;
      output;
run;

data data2; set data1;
  id4=id3;
  where id3 ge 2222;
run;

  • whereステートメントによる暗黙的output

/* where id4 */
data data1;
    id1=1111; id2=1111; id3=1111;
      output;
    id1=2222; id2=2222; id3=2222;
      output;
    id1=3333; id2=3333; id3=3333;
      output;
run;

data data2; set data1;
  id4=id3;
  where id4 ge 2222;
run;

  • whereステートメントによる暗黙的output
  • whereステートメントの場合、data1に元々無かったid4は条件に使用できない。

/* if id3 */
data data1;
    id1=1111; id2=1111; id3=1111;
      output;
    id1=2222; id2=2222; id3=2222;
      output;
    id1=3333; id2=3333; id3=3333;
      output;
run;

data data2; set data1;
  id4=id3;
  if id3 ge 2222;
run;

  • ifステートメントによる暗黙的output

/* if id4 */
data data1;
    id1=1111; id2=1111; id3=1111;
      output;
    id1=2222; id2=2222; id3=2222;
      output;
    id1=3333; id2=3333; id3=3333;
      output;
run;

data data2; set data1;
  id4=id3;
  if id4 ge 2222;
run;

  • ifステートメントによる暗黙的output
  • ifステートメントの場合、data1に元々無かったid4も条件に使用できる。

-IF, SAS, SAS Base Programming, WHERE

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】SASで良く使うテクニック。その2 「Ctrl+R」~データセットの列数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットの列数が多いときは「Ctrl+R」が役に立つ理由を解説していきます。 データセットのコンペアを行う場面を想定します。 先に以下の2記事を読んで …

【SAS】PROC PRINTTO LOGはログをファイルとして出力する。【NEW】

今回はPROC PRINTTO LOGについて解説します。 /* log_1 */ proc printto log = “/home/xxxxxxxxxx/sasuser.log” new; run …

【SAS】SASで良く使うテクニック。その5 「SUM関数」~データセットの差分がいくつあるのか数えたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットの差分がいくつあるのか数えたいときは「SUM関数」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その1 E …

SAS Base Programmingの資格を取りました。試験の流れを解説します。[出題された問題のリークも]

仕事でSASというプログラミング言語を使用してるのですが、 SASの資格を欲しいと思って先日、SASの試験Base Programmingを受けてきました。 2021年内に2回受験をして、 1回目は不 …

【SAS】TIME関数はSAS時間値を取得する。

今回はTIME関数について解説します。 /* time_1 */ data data1; Id1 = time(); run; time()により、SAS時間値を取得する。 /* time_2 */ …