2017年4月20日木曜日

複数のSQL文は、ひとつのPROC SQLにまとめて書くことが出来る


知ってるよって方も多いと思いますが、以下のように複数のPROC SQLを別々に書きがちですが、、、


* SQL① ;
proc sql;
   create table DT1 as
   select SEX, count(*) as C
   from SASHELP.CLASS
   group by SEX;
quit;

* SQL② ;
proc sql;
   create table DT2 as
   select AGE, count(*) as C
   from SASHELP.CLASS
   group by AGE;
quit;


以下のようにひとつのPROC SQL内でまとめて書くことが出来ます。


proc sql;

   * SQL① ;
   create table DT1 as
   select SEX, count(*) as C
   from SASHELP.CLASS
   group by SEX;

   * SQL② ;
   create table DT2 as
   select AGE, count(*) as C
   from SASHELP.CLASS
   group by AGE;

quit;


こちらの方が文もスッキリするし、処理効率も良いと思います。

3 件のコメント:

  1. 初心者で勉強のため、こちらのサイトにきました。
    ちょっとしかみれていないのですが、分かり易くてよいサイトですね!
    もしよかったら、勉強でおすすめの書籍がありましたら
    今後記事にあげていただいたら嬉しいです。

    返信削除
  2. コメントありがとうございます!
    思いついたこと書きなぐってるだけのブログですがまた見に来ていただけると嬉しいです!

    おすすめのSAS書籍ですか、、あまり1冊最後まで読み切ったものがないですが、読んだ本とかあったらブログに載せたいと思います。

    また以下、データステップ100万回を運営されているSASYAMAさんという方が書籍紹介をされていて、解説も丁寧なのでこちらを読んでいただくのが良いかもしれません。
    http://sas-tumesas.blogspot.jp/search/label/%E6%9B%B8%E7%B1%8D%E7%B4%B9%E4%BB%8B

    返信削除
    返信
    1. コメントした匿名です。
      お返事ありがとうございます。

      これからも見に行きますね!
      更新楽しみにしています(^ー^)/

      削除