DROP SAS

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

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

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


/* 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】LIBNAMEはディレクトリパスをライブラリに割り当てる

今回はLIBNAMEについて解説します。 ちなみにSAS Base Programmingでは、LIBNAMEができないと前半の記述問題が解けません。(データセットが与えられるので、割り当てられないと …

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …

【SAS】NODUPはソート時に全ての変数における重複を削除する

今回はNODUPについて解説します。 前回NODUPKEYについて解説しました。 【SAS】NODUPKEYはソート時に重複を削除する 今回のNODUPは前回の文法の亜種という感じです。 /*nodu …

【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する

今回もPUTについて解説します。  前回、PUTは数値型⇒文字型への変換ができると解説しました。 【SAS】PUTは数値型を文字型に変換する 今回はその延長としてSAS日付値を様々な日付形式 …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。

今回は%SYSFUNC関数について解説します。 /* sysfunc_1 */ %put %sysfunc(substr(123456789, 2, 4)); %sysfuncにより、関数をデータステ …