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】ROUNDは四捨五入して数値を丸める

今回はROUNDについて解説します。 /* 正常形 */ data work.data1; _100 = round(1234.56789, 100); _10 = round(1234.56789, …

WORKライブラリをLIBNAMEで自動的に割り当てる方法を考察【PATHNAME】【%SYSFUNC】

今回はWORKライブラリをLIBNAMEで自動的に割り当てる方法を考察していきたいと思います。 workライブラリはlibnameを使ってlib_1のようにライブラリ名を割り当てる事ができます。 /* …

【SAS】PUTLOGステートメントは文字列をログに出力する。

今回はPUTLOGについて解説します。 /* putlog_1 */ data _null_; putlog ‘2022/03/26’; run; putlogにより、ログに文字列を出力できる。%pu …

【SAS】COALESCEはNULLを数字に置き換える

今回はCOALESCEについて解説します。 /*coalesce 正常形*/ data data1; id=”A”; chiku=1111; output; id=”B”; chiku=2222; o …

【SAS】%PUTステートメントは文字列をログに出力する。その1

今回は%PUTについて解説します。 /* %put */ %put CHAR; %putにより、文字列をログに出力できる。 /* %let */ %let CHAR = aaaa ; %put &am …