スクリプトガイド > JSLの構成要素 > 名前解決のルール > 変数と列名のトラブルシューティング
公開日: 11/25/2021

変数と列名のトラブルシューティング

As Name()を使用して列名を参照し、Names Default To Here( 1 )を設定した場合、JMPは変数参照を戻します。そして、その参照は標準の参照ルールを使って処理されます。

次の例では、Here:スコープに「身長(インチ)」変数はありません。そのため、JMPはエラーを戻します。

Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
As Name( "身長(インチ)" )[3]; //「身長(インチ)」を変数の参照として検索

As Name( "身長(インチ)" )[/*###*/3];

ログにある/*###*/の文字は、スクリプトの実行でエラーが発生した箇所を示します。

この問題を回避するには、次のいずれかの方法を使用します。

As Name()ではなくAs Column()を使用します。

Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
As Column( "身長(インチ)" )[3]; //「身長(インチ)」をデータ列として検索

As Name()を使って明示的に「身長(インチ)」の適用範囲を指定します。

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:( As Name( "身長(インチ)" ) )[3]; //スコープを指定し、身長(インチ)をデータ列として検索

これらのスクリプトは、「Big Class.jmp」の3行目の「身長(インチ)」の値である55を戻します。

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