2015年8月26日水曜日

DICTIONARYテーブルで色々な定義情報を取得する




DICTIONARYテーブルには、色々な定義情報が入っています。
(この中身はSQLプロシジャでのみ参照する事ができます。)

SQL使えないよーって人も、DICTIONARYテーブルをビュー化したものが、ライブラリ「SASHELP」の中に入っています。


DICTIONARYテーブルの一覧 (個人的に利用頻度が高いもののみ抜粋)

DICTIONARY
SASHELP内のビュー
中身
COLUMNS
VCOLUMN
変数名と変数属性
MACROS
VMACRO
システムやユーザーが定義しているマクロ変数名
TABLES
VTABLE
データセット名やビュー名
TITLES
VTITLE
タイトルとフットノートの設定
OPTIONS
VOPTION
オプションの設定
INDEXES
VINDEX
インデックスの設定
 ・・・

DICTIONARYテーブルを直接みることは出来ませんが、SASHELP内のビューは開いて見る事が出来ます。



利用方法

* テストデータ ;
data DT1;
   length A B 8. C $20.;
run;

たとえば上記テストデータの変数名や変数属性を取得したいとします。



DICTIONARYテーブルから取得する
proc sql;
   create table OUT1 as
   select *
   from DICTIONARY.COLUMNS
   where LIBNAME="WORK" and MEMNAME="DT1";
quit;


・・・変数多いので省略



SASHELP内のビューから取得する
data OUT2;
   set SASHELP.VCOLUMN;
   where LIBNAME="WORK" and MEMNAME="DT1";
run;


0 件のコメント:

コメントを投稿