変動性チャートでのループ - リスト メンバーの値を明示的に使用する代わりに参照する際の問題やあ
変動性チャートをループして、それぞれが列で表されるさまざまなパラメーターを分析しています。 列名はリストに格納されます。 ここにコードスニペットがあります
tetser = {a list of 100 column names in string format};<BR />For( i = 1, i <= 100 , i++,
Variability Chart(
Y( tester[i]),
Model( "Crossed" ),
X( :Operators, :Parts ),
Analysis Type( "Choose best analysis (EMS REML or Bayesian)" ),
Variability Analysis(
tester[i], <U><EM><STRONG>/* PROBLEM HAPPENS ON THIS LINE*/</STRONG></EM></U>
MSA Metadata( tester[i] ( Lower Tolerance( LTU[i] ), Upper Tolerance( UTU[i] ), Tolerance Range( UTU[i]-LTU[i] ) ) ),
Gauge RR( 6 ),
"Gauge R&R Report"n( 1 )
)
);問題は:コードを実行すると、Variability Analysis(...) 関数内の列名として tetser[i] を使用しているため、このエラーが発生します。 列名の文字列に変更すると (インデックスで参照するのではなく)、正常に動作します。 上記のコードでエラーが発生したと思われる行を示しています。 解決策を教えていただけますか、それともヘルプ ファイルを参照していただけますか?

スクリプティングRe: 変動チャートのループ - 値を明示的に使用する代わりにリスト メンバーを参照する際の問題JMP が tester[i] が実際に何であるかを評価しようとする前にチャートが描画されていると思います。一度評価すると、変動性チャート プラットフォームはそれを起動したスクリプト ウィンドウについて何も知りません。で説明されているように、プラットフォームを起動する前に式を評価するよう JMP に指示することで、これを回避できます。 Eval Insert、Eval Expr、Parse、および Substitute を使用して、ある式を別の式に挿入します。
例えば:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Variability Data/2 Factors Crossed.jmp" );
cols = dt << get column references;
cols = cols[1]
for each({c, i}, cols,
Eval( Eval Expr(
Variability Chart(
Y( Expr( c ) ),
Model( "Crossed" ),
X( :Operator, :"part#"n ),
Analysis Type( "Choose best analysis (EMS REML or Bayesian)" ),
Variability Analysis(
Expr( cols[i] ), /* PROBLEM HAPPENS ON THIS LINE*/
MSA Metadata( tester[i] ( Lower Tolerance( LTU[i] ), Upper Tolerance( UTU[i] ), Tolerance Range( UTU[i]-LTU[i] ) ) ),
Gauge RR( 6 ),
"Gauge R&R Report"n( 1 )
)
)
) )
);