SAS拡張属性は、テーブルスクリプト、ラベル、長さ、タイプなどの情報を読み込むためにSASコードで定義したメタデータです。拡張属性はデータセットや変数に関連付け、_JMP_TABLESCRIPTNAME_2="OnOpen"のように名前-値ペアで定義します。詳細については、http://sas.com/ にある拡張属性に関するSASのマニュアルを参照してください。
/* テーブルスクリプトが2つあることを指定 */
%LET _DS_ATTRIBUTES=_JMP_TABLESCRIPTCOUNT=2
/* テーブルスクリプト名を定義 */
_JMP_TABLESCRIPTNAME_1="州別 好きな映画"
_JMP_TABLESCRIPTNAME_2="OnOpen"
_JMP_TABLESCRIPTVALUE_2="CurrentDataTable() << RunScript(""州別 好きな映画"");"
/* OnOpenテーブルスクリプトを定義 */
_JMP_TABLESCRIPTVALUE_1=
/* OnOpenテーブルスクリプトの一部 */
"
Current Data Table();
New Column(""max_name"",
Character,
Width(128)
);
以下の例は、PROC DATASETSを拡張属性に組み合わせる方法を示しています。
%LET _DS_ATTRIBUTES = attr-name=attr-value...attr-name=attr-value;
%LET _VAR_ATTRIBUTES= var-name (attr-name=attr-value...)...var-name (attr-name=attr-value...);
PROC DATASETS NOLIST LIB=WORK;
MODIFY AttributeReferenceTable;
XATTR OPTIONS MAXCHUNK=100;
XATTR SET DS &_DS_ATTRIBUTES;
XATTR SET VAR &_VAR_ATTRIBUTES;
RUN;
QUIT;
[SASインテグレーション]の環境設定にある2つのオプションによって、拡張属性の読み込みと書き出しを行うかどうかが決まります。拡張属性を書き出すには、[書き出す際にテーブルと列のプロパティを拡張属性に保存する]を選択します。拡張属性を読み込むには、[読み込む際にテーブルと列のプロパティを拡張属性から適用する]を選択します。これらのオプションはデフォルトでオフになっています。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
sd = dt << Make SAS Data Step Window( SaveJMPMetadata( 1 ) );