OF SAS SUM

【SAS】足し算。その3(SUM関数を用いた計算)【of】

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

今回はSUM関数を用いた足し算で、ofを使った計算について解説します。 

(前回はSUM関数を用いた足し算について解説しました。⇒【SAS】足し算。その2(SUM関数を用いた計算) | ビジネスイッチ (how-to-business.com)


/* sum(of Id1-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 = sum(of Id1-Id3);	
run;

  • sum(of Id1-Id3)により、数字を足すことができる。

/* null */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=.;
    output;
run;



data data2; set data1;
  Id4 = sum(of Id1-Id3);	
run;

  • sum(of Id1-Id3)により、数字を足すことができる。
  • Nullの変数を足しても、正しく計算される。

/* aaaa */
data data1;
  Id1=1111; Id2=1111; Id3="aaaa";
    output;
  Id1=2222; Id2=2222; Id3="aaaa";
    output;
  Id1=3333; Id2=3333; Id3="aaaa";
    output;
run;



data data2; set data1;
  Id4 = sum(of Id1-Id3);	
run;

  • sum(of Id1-Id3)により、数字を足すことができる。
  • 文字列型の変数を足しても、正しく計算される。

/* sum(of Id1 + Id2 + 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 = sum(of Id1 + Id2 + Id3);	
run;

  • sum(of Id1 + Id2 + Id3)は書き方が正しくないため、エラーとなる。

/* sum(of Id1 Id2 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 = sum(of Id1 Id2 Id3);	
run;

  • sum(of Id1 Id2 Id3)により、数字を足すことができる。(⇒これにより変数名に規則性が無くても使える)

/* sum(of Id1 Id2 Id3) null */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=.;
    output;
run;


data data2; set data1;
  Id4 = sum(of Id1 Id2 Id3);	
run;

  • sum(of Id1 Id2 Id3)により、数字を足すことができる。(⇒これにより変数名に規則性が無くても使える)
  • Nullの変数を足しても、正しく計算される。

/* sum(of Id1 Id2 Id3)  aaaa */
data data1;
  Id1=1111; Id2=1111; Id3="aaaa";
    output;
  Id1=2222; Id2=2222; Id3="aaaa";
    output;
  Id1=3333; Id2=3333; Id3="aaaa";
    output;
run;


data data2; set data1;
  Id4 = sum(of Id1 Id2 Id3);	
run;

  • sum(of Id1 Id2 Id3)により、数字を足すことができる。(⇒これにより変数名に規則性が無くても使える)
  • 文字列型の変数を足しても、正しく計算される。

/* sum(of Id1,Id2,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 = sum(of Id1,Id2,Id3);	
run;

  • sum(of Id1,Id2,Id3)により、数字を足すことができる。(⇒これにより変数名に規則性が無くても使える)

/* sum(of Id1,Id2,Id3) null */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=.;
    output;
run;



data data2; set data1;
  Id4 = sum(of Id1,Id2,Id3);	
run;

  • sum(of Id1,Id2,Id3)により、数字を足すことができる。(⇒これにより変数名に規則性が無くても使える)
  • Nullの変数を足しても、正しく計算される。

/* sum(of *) */
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 = sum(of *);	
run;

  • sum(of *)は書き方が正しくないため、エラーとなる。
  • 「*で全ての変数を選択」みたいなことはできない。

/* sum(of _ALL_) */
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 = sum(of _ALL_);	
run;


  • sum(of _ALL_)により数字を足すことができる。(全ての変数を指定)

-OF, SAS, SUM

執筆者:


comment

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

関連記事

【SAS】ABORTは実行を強制終了させる

今回はABORTについて解説します。 /*abort*/ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA”; …

【SAS】”nは本来使用できない文字を使用可能にする。その2 SQLのSELECT文

今回も”nについて解説します。 (前回:【SAS】”nは本来使用できない文字を使用可能にする。 | ビジネスイッチ (how-to-business.com)) (参考:Solved: what th …

【SAS】「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」の対処法【NOTE】

今回は、 「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」 とログメッセージが出た時の対処法について解説します。 /* メッセージ_1 */ data d …

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

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …

【SAS】SASで日付を扱う(年月日)【”d】 【YEAR()】【MONTH()】【DAY()】【MDY()】

今回は日付を用いた様々な操作について解説します。  /*”d*/ data data1; Id1 = ’03jan2022’d; run; ’03jan2022’d …