JMPのデータテーブルに、Get SAS Data Step for Formula Columnsというメッセージを送ると、列の計算式に対応したSASプログラムが作成されます。次の例は、まず、計算式を含む「rate」列を作成し、そのSASプログラムを生成します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "rate", Formula( :Name("身長(インチ)") / :Name("体重(ポンド)")));
dt << Get SAS Data Step for Formula Columns;
このスクリプトは、次のようなコードをログに出力します。なお、列名における日本語などの文字は、標準的なSASの変数名には使えないため、アンダーバーに置き換えられます。
/*%PRODUCER:JMP - DataTable Formulas */
/*%TARGET:rate */
/*%INPUT: __ */
/*%INPUT: __2 */
/*%OUTPUT:rate */
/* Code to score rate */
rate =__/__2
drop ;
引数に列名を指定すると、その列の計算式だけが対象となりますが、次のように列名を省略すると、すべての計算式のコードが生成されます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Get SAS Data Step for Formula Columns;
SAS Model Managerのスコアリングコードに列計算式を含めることもできます。データテーブルにGet MM SAS Data Step for Formula Columnsを送ります。
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Get MM SAS Data Step for Formula Columns;
このスクリプトの結果もログに表示されます。
Get SAS Data Step for Formula Columnsの場合と同様、列名の指定はオプションです。