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;

0 件のコメント:

コメントを投稿