知ってるという人も多いと思うけど、SQLでも一部のデータセットオプションを使うことができる。
便利だけど、あまり使われてない気がします。
ということで、SQLでデータセットオプションを使うメリットを紹介します。
サンプルデータ作成
data DT1;
retain A1 - A5 1;
run;
データセットDT1
A1 A2 A3 A4 A5
1 1 1 1 1 |
SQLでデータセットオプションを使う
問題①データDT1をもとにDT2を作成。ただし変数A3はB3にrename。
結果データセットDT2
A1 A2 B3 A4 A5
1 1 1 1 1
*** 通常のSQL文 ;
proc sql;
create table DT2 as
select A1,
A2,
A3 as B3,
A4,
A5
from DT1 ;
quit;
*** データセットオプションを使う場合 ;
proc sql;
create table DT2 as
select *
from DT1 (rename=(A3=B3)) ;
quit; |
問題②データDT1をもとにDT3を作成し、変数A1~A3を格納。
結果データセットDT3
A1 A2 A3
1 1 1
*** 通常のSQL文 ;
proc sql;
create table DT3 as
select A1,
A2,
A3
from DT1 ;
quit;
*** データセットオプションを使う場合 ;
proc sql;
create table DT3 as
select *
from DT1 (keep=A1-A3) ;
quit; |
このように、通常「select *」が使えない場合でも、SASのデータセットオプションを組み合わせることで使えるようになる。
今回はほんの一例で、他にも色々スッキリした文を書ける場合があります。
データセットオプションは
「create table」や
「from句」で使用することが出来る。
SASとSQLのいいとこ取りです!