SAS拡張属性は、SASコードにおいて定義することができるメタデータです。SAS拡張属性は,テーブルスクリプト・ラベル・長さ・タイプなどの情報を読み込むために用いることができます。SAS拡張属性は、データセットや変数に関連付けることができます。SAS拡張属性は、_JMP_TABLESCRIPTNAME_2="OnOpen"のように名前と値のペアで定義します。https://www.sas.comにある拡張属性に関するSASのマニュアルを参照してください。
JMPからSASにデータを書き出す場合、列プロパティやテーブルスクリプトなどの項目は自動的に保持されます。SAS拡張属性をJMP属性にマップするのは、SASコードをJMPに読み込む場合だけです。
以下は、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拡張属性および対応するJMP属性の詳細については、JMP属性のSAS拡張属性へのマッピングを参照してください。
[SASインテグレーション]の環境設定にある2つのオプションによって、拡張属性の読み込みと書き出しを行うかどうかが決まります。拡張属性を書き出すには、[書き出す際にテーブルと列のプロパティを拡張属性に保存する]を選択します。拡張属性を読み込むには、[読み込む際にテーブルと列のプロパティを拡張属性から適用する]を選択します。これらのオプションはデフォルトでオフになっています。
拡張属性を書き出す例を見るには、次のスクリプトを実行してください。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
sd = dt << Make SAS Data Step Window( SaveJMPMetadata( 1 ) );