スクリプトガイド > JMPの拡張 > SASの使用 > 計算式を持つ列のSAS DATAステップコードの作成
公開日: 09/19/2023

計算式を持つ列のSAS DATAステップコードの作成

JMPのデータテーブルに、Get SAS Data Step for Formula Columnsというメッセージを送ると、列の計算式に対応したSASプログラムが作成されます。次の例は、まず、計算式を含む「rate」列を作成し、そのSASプログラムを生成します。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "rate", Formula( :"身長(インチ)"n / :"体重(ポンド)"n ));
dt << Get SAS Data Step for Formula Columns;

このスクリプトは、次のようなコードをログに出力します。なお、列名における日本語などの文字は、標準的なSASの変数名には使えないため、アンダーバーに置き換えられます。この例では、サンプルデータの列名は、日本語名だけではなく、英語名も設定されているので、英語名が使われます。

/*%PRODUCER: JMP - DataTable Formulas */

/*%TARGET: Ratio */

/*%INPUT: __ */

/*%INPUT: __2 */

/*%OUTPUT: Ratio */

/* Code to score rate */

rate =height/weight

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の場合と同様、列名の指定はオプションです。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).