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】INPUTステートメントは再帰的に型変換ができない。

今回はINPUTステートメントの再帰的な型変換について解説します。 (なお、通常のINPUT型変換の使い方は以下の記事で解説しています。⇒【SAS】INPUTは文字型を数値型に変換する) /*再帰的型 …

SAS Base Programmingの資格を取りました。試験の流れを解説します。[出題された問題のリークも]

仕事でSASというプログラミング言語を使用してるのですが、 SASの資格を欲しいと思って先日、SASの試験Base Programmingを受けてきました。 2021年内に2回受験をして、 1回目は不 …

【SAS】オブザベーションを跨いだ計算【RETAIN】【SAS Base Programming対策4】

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

【SAS】TODAY()とDATE()はどちらもSAS日付値を取得する。

以下の2記事でtoday()を使ってきました。 【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する 【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこ …

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

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