DROP SAS

【SAS】DROPオプションの位置による処理の違い

投稿日:2022年1月12日 更新日:

今回はDROPオプションの付き方によって、結果が異なるケースを解説します。

(対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com)


/* drop_1 */
data data1;
  Id1=1111; Id2=1111; Id3=1111; Id4=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222; Id4=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333; Id4=3333;
    output;
run;

data data2; set data1(drop=Id2 Id3);
  Id5 = Id1 + Id2 + Id3 + Id4;
run;

  • setステートメントに付けると足し算の前にId2、Id3が削除される。
  • Id5 = Id1 + Id2 + Id3 + Id4により、Id2、Id3は出力される。

/* drop_2 */
data data1;
  Id1=1111; Id2=1111; Id3=1111; Id4=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222; Id4=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333; Id4=3333;
    output;
run;

data data2(drop=Id2 Id3); set data1;
  Id5 = Id1 + Id2 + Id3 + Id4;
run;

  • dataステートメントに付けると足し算の後にId2、Id3が削除される。
  • Id5はId2、Id3の値も含む。

-DROP, SAS

執筆者:


comment

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

関連記事

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

【SAS】IFステートメントは処理を分岐できる。その2~ELSE IF、ELSE~

前回はIF文のオーソドックスな構文を解説しましたが、今回はELSE IFとELSEを使った構文についても解説していきます。 (参考:【SAS】IFステートメントは処理を分岐できる。その1 | ビジネス …

【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEND】

今回はマクロに引数を設定する方法について解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。【%MEND】 | ビジネスイッチ (how-to …

【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットのオブザベーション数(行数)が多いときは「Ctrl+D」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その …

【SAS】SUBSTR関数を使って右から文字列を切り取る方法について解説【LENGTHN】

今回はSUBSTR関数を使って右から文字列を切り取る方法について解説します。 (参考:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | ビジネスイッチ (how-to-busine …