SAS SQL SUM 要約関数

【SAS】SUMは足し算をする。その2【要約関数】【SQL】

投稿日:2022年2月13日 更新日:

今回もSQLのSUM(要約関数)について解説します。

過去記事でも、SQLのSUM関数について取り上げました。【SAS】SUMは足し算をする。その1【SQL】 | ビジネスイッチ (how-to-business.com)


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


proc sql;
  create table data2 AS
  select SUM(Id1)
  from data1
quit;

  • SUM(Id1)により、Id1の合計が出力される。(要約関数)

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


proc sql;
  create table data2 AS
  select SUM(Id1)
  from data1
  group by Id1;
quit;

  • SUM(Id1)により、Id1の合計が出力される。(要約関数)
  • group byにより、Id1ごとにSUM(Id1)が計算される。

/* SUM_3 */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=1111; Id2=2222; Id3=2222;
    output;
  Id1=2222; Id2=3333; Id3=3333;
    output;
  Id1=2222; Id2=4444; Id3=4444;
    output;
run;


proc sql;
  create table data2 AS
  select SUM(Id3) AS 合計数量
  from data1
  group by Id1;
quit;

  • SUM(Id3)により、Id3の合計が出力される。(要約関数)
  • group byにより、Id1ごとにSUM(Id3)が計算される。

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


proc sql;
  create table data2 AS
  select *,SUM(Id1)
  from data1
quit;

  • SUM(Id1)により、Id1の合計が出力される。(要約関数)
  • 元のデータに要約関数の結果がマージされる。

-SAS, SQL, SUM, 要約関数

執筆者:


comment

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

関連記事

【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」

今回はOUTPUTとDELETEにスポットを当てていきたいと思います。 /* output, delete無し */ data data1; Id1=1111; Char1=”AAAA”; outpu …

【SAS】INPUTは文字型を数値型に変換する

今回はINPUTについて解説します。 /*8桁*/ data work.a; a = input(“20061228”, 8.); run; 文字型⇒数値型への変換はinputを使う。文字型&#822 …

【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこまでなのか)区切り文字の解説も

今回はYYMMDDにフォーカスして解説します。 前回、PUT+DATE,YYMMDDにより、SAS日付値を日付形式に変換表示する方法を解説しました。 【SAS】PUT+DATE,YYMMDDはSAS日 …

【SAS】CALL SYMPUTは関数を用いてマクロ変数の代入ができる。

今回はCALL SYMPUTについて解説します。 /*その1*/ data data1; kyo = today(); run; today()は本日の日付をSAS日付で取得する。 /*その2*/ d …

【SAS】CONTENTSプロシージャはデータセットに関する情報を表示する。

今回はCONTENTSプロシージャについて解説します。  /* data1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1= …