NODUP SAS

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

投稿日:2021年10月18日 更新日:

今回はNODUPについて解説します。

前回NODUPKEYについて解説しました。

今回のNODUPは前回の文法の亜種という感じです。


/*nodup1*/
data data1;
  id="A"; chiku="SHINJUKU1"; 数字=1;
    output;
  id="A"; chiku="SHINJUKU1"; 数字=1;
    output;
  id="A"; chiku="SHINJUKU2"; 数字=3;
    output;
  id="B"; chiku="ICHIGAYA1"; 数字=4;
    output;
  id="B"; chiku="ICHIGAYA1"; 数字=4;
    output;
  id="B"; chiku="ICHIGAYA2"; 数字=6;
    output;
  id="C"; chiku="SHIBUYA"; 数字=7;
    output;
run;



proc sort data=data1 out=data2 nodup; by id chiku; run;

  • nodupはキー重複を除き、先頭行のみ出力する。
  • 全ての変数で重複を見る。

/*nodup2*/
data data1;
  id="A"; chiku="SHINJUKU1"; 数字=1;
    output;
  id="A"; chiku="SHINJUKU1"; 数字=2;
    output;
  id="A"; chiku="SHINJUKU2"; 数字=3;
    output;
  id="B"; chiku="ICHIGAYA1"; 数字=4;
    output;
  id="B"; chiku="ICHIGAYA1"; 数字=5;
    output;
  id="B"; chiku="ICHIGAYA2"; 数字=6;
    output;
  id="C"; chiku="SHIBUYA"; 数字=7;
    output;
run;



proc sort data=data1 out=data2 nodup; by id chiku; run;
  • nodupはキー重複を除き、先頭行のみ出力する。
  • 全ての変数で重複を見る。

-NODUP, SAS

執筆者:


comment

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

関連記事

【SAS】SETステートメントに複数データセットを設定すると縦結合できる

今回はSETについて解説します。 /* 1~7 */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …

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

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

【SAS】DATETIME関数はSAS日時値を取得する。

今回はDATETIME関数について解説します。 /* datetime_1 */ data data1; aaaa = datetime(); run; datetime()はSAS時間値を取得する。 …

【SAS】ATTRIBとRENAMEを同時に使うときの注意点

今回はATTRIBとRENAMEを同時に使うときに注意するべきポイントについて解説していきます。 SAS日付となっているid1をddMONyyyy形式にして、id4とするケースを仮定します。 結論:A …

【SAS】UPCASE関数は文字列を大文字化する。

今回はUPCASE関数について解説します。 /* upcase */ data data1; Id1=1111; char1=”US”; char2=”aaa”; output; Id1=2222; …