Triad sou.

sashelp.vcolumn と sashelp.vtable によるデータセット情報の抽出

sashelp.vcolumn や sashelp.vtable などには、SAS にロードされた全データセットの情報が格納されている。
そのため、フォーマットだったり、オブザベーション数だったり、変数の数だったり、他にも非常に細かい情報を取り出すことができる。
大胆だなぁ。

proc format;
  value myfmt 1 = "Yes" 2 = "No";
run;

data test;
  x = 1;
  y = 2;
  z = 1;
  output;
  x = 2;
  y = 2;
  z = 2;
  output;
  format x best32. y best8. z myfmt.;
data test2;
  x = 1;
  y = 2;
  z = 1;
  output;
  format x best32. y best8. z myfmt.;
run;

proc print data = sashelp.vcolumn;
  where libname = "WORK" & memtype = "DATA";
  var libname memname format;
run;

proc print data = sashelp.vtable;
  where libname = "WORK" & memtype = "DATA";
  var libname memname nobs nvar;
run;
 Obs    libname    memname    format

6468     WORK       TEST      BEST32.
6469     WORK       TEST      BEST8.
6470     WORK       TEST      MYFMT.
6471     WORK       TEST2     BEST32.
6472     WORK       TEST2     BEST8.
6473     WORK       TEST2     MYFMT.
Obs    libname    memname    nobs    nvar

806     WORK       TEST        2       3
807     WORK       TEST2       1       3