ラベル SQL: CREATE TABLE の投稿を表示しています。 すべての投稿を表示
ラベル SQL: CREATE TABLE の投稿を表示しています。 すべての投稿を表示

2017年10月26日木曜日

変数属性を定義した空のデータセットを作成する方法【まとめ】



思いつく方法をざっとあげてみました。
(他にも方法ありそうなので、知ってたら教えてください)



例として以下の変数と属性をもつ0オブザベーションのデータセットを作成してみます。




① DataStep
data DT1;
  attrib
     VAR1  length=8.     label="Variable1"  format=yymmdd10.
     VAR2  length=$20. label="Variable2"
  ;
  call missing( of _ALL_ );
  stop;
run;



② PROC SQL
proc sql;
   create table DT2 (
      VAR1  num        "Variable1"  format=yymmdd10. ,
      VAR2  char(20)  "Variable2"
   );
quit;



③ PROC DS2 (SAS9.4~)
proc ds2;
   data DT3 (overwrite=yes);
       dcl  double     VAR1  having  label 'Variable1'  format yymmdd10. ;
       dcl  char(20)  VAR2  having  label 'Variable2';
       method run();
          stop;
       end;
   enddata;
   run;
quit;


LABELの設定はダブルクォーテーションではなく、シングルクォーテーションで囲む必要があります。



④ PROC LUA (SAS9.4~)
proc lua;
submit;
   local dsid = sas.open( "DT4", "o" )
    sas.add_vars( dsid, {{name="VAR1", type="N", label="Variable1", length="8", format="yymmdd10."},
                                    {name="VAR2", type="C",  label="Variable2", length="20"}} )
   sas.close( dsid )
endsubmit;
run;

2016年1月21日木曜日

変数属性を定義した空のデータセットを作る 【SQLプロシジャ編】



変数属性の定義はデータステップのATTRIBがよく使われますが、SQLプロシジャでも出来ます。

proc sql;
   create table OUT1  (
        A char(10)  "aa" ,
        B num       "bb" ,
        C num       "cc"  format=yymmdd10.
   );
quit;



作ったデータセットの変数定義を確認してみます。

proc contents data=OUT1 varnum;
run;


おまけ

2014年5月16日金曜日

SQLプロシジャ入門6:データセットを作成する【CREATE TABLE】


まだあとちょっと続きます。
しかし今回までの基礎を身につければかなり役に立つと思います。

今回はSQLの結果をデータセットに出力する方法です。



サンプルデータ
data DT1;
input A B;
cards;
1 10
1 15
2 20
2 10
;
 A 
B
  1  
  10   
  1
  15  
  2  
  20   
  2  
  10   




結果をデータセットに出力する。[CREATE TABLE]
proc sql;
   create table  DT2  as
   select *
   from DT1;
quit;



 A 
B
  1  
  10   
  1
  15  
  2  
  20   
  2  
  10   


解説
「CREATE TABLE 出力データセット名 AS」 で結果をデータセットに出力します。





SQLプロシジャ入門記事一覧
1.変数を選択する【SELECT】
2.レコードを並べ替える【ORDER BY】
6.データセットを作成する【CREATE TABLE】