Re: 関数内のコンテンツをプレースホルダーに置き換えるにはどうすればよいですか?式を確認してください。これを行うには、式を使用する必要があります。これはあなたのために働くはずの例です:
//Define variables for X, X1, X2, Y, Y1, Y2, and Group X
vars = {X(colX[i]), X(colX1[i], Position( 1 )), X(colX2[i], Position( 1 ))
,
Y(colY[i]), Y(colY1[i], Position( 1 )), Y(colY2[i], Position( 1 ))
};
If( Is Missing(colGroupX[i]) != 1,
vars = Insert Into( vars, Group X( colGroupX[i] ) )
);
vars = Substitute( vars, {}, Expr( Variables() ) );
Eval( Eval Expr(
GB = Current Data Table() << Graph Builder(
Size( 1413, 999 ),
Expr( Name Expr( vars ) ),
Elements(
Points( X( 1 ), X( 2 ), X( 3 ), Y( 1 ), Y( 2 ), Legend( 11 ) ),
Smoother( X( 1 ), X( 2 ), Y( 3 ), Y( 1 ), Y( 2 ), Legend( 14 ) )
),
SendToReport(
Dispatch( {}, "Graph", ScaleBox,
{Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
)
)
)
) )Re: 関数内のコンテンツをプレースホルダーに置き換えるにはどうすればよいですか?返信ありがとうございます。送信されたものを使用して、空でない場合に vars に追加する独自のバージョンを作成しようとしました
If( Is Missing(colGroupX[i]) != 1, Insert Into( vars, Group X(colGroupX[i]))); vars = {};
If( Is Missing(colX[i]) != 1, Insert Into( vars, X(colX[i])));
If( Is Missing(colX1[i]) != 1, Insert Into( vars, X(colX1[i], Position( 1 ))));
If( Is Missing(colX2[i]) != 1, Insert Into( vars, X(colX2[i], Position( 1 ))));
If( Is Missing(colX3[i]) != 1, Insert Into( vars, X(colX3[i], Position( 1 ))));
If( Is Missing(colX4[i]) != 1, Insert Into( vars, X(colX4[i], Position( 1 ))));
If( Is Missing(colY[i]) != 1, Insert Into( vars, Y(colY[i])));
If( Is Missing(colY1[i]) != 1, Insert Into( vars, Y(colY1[i], Position( 1 ))));
If( Is Missing(colY2[i]) != 1, Insert Into( vars, Y(colY2[i], Position( 1 ))));
If( Is Missing(colY3[i]) != 1, Insert Into( vars, Y(colY3[i], Position( 1 ))));
If( Is Missing(colY4[i]) != 1, Insert Into( vars, Y(colY4[i], Position( 1 )))); <BR />
実行すると、エラーが発生します
名前未解決: 'X' へのアクセスまたは評価中の X、X( colX[i] ) /*####*/
しかし、以下のvarsステートメントに含めると機能します
vars = {X(colX[i]), X(colX1[i], Position( 1 )), X(colX2[i], Position( 1 ))
,
Y(colY[i]), Y(colY1[i], Position( 1 )), Y(colY2[i], Position( 1 ))
};
アドバイスしてくださいありがとう!
Re: 関数内のコンテンツをプレースホルダーに置き換えるにはどうすればよいですか?リストに式を挿入する必要があります。試作品でInsert Into(変数、値、位置) 、JMPは名前検索のみを実行します変数(名前ルックアップから返されたものを評価しようとはしません)、名前ルックアップを実行して評価します価値、名前のルックアップと評価を実行します位置.リストに式を挿入したいので、JMP に式を評価させたくありません。価値位置。ただし、JMP は必ず式を評価します。そのため、JMP が式を評価しても式を保持するには、式()関数、次のように:
vars = {};
If( Is Missing(colX[i]) != 1, Insert Into( vars, Expr( X(colX[i]) )));
If( Is Missing(colX1[i]) != 1, Insert Into( vars, Expr( X(colX1[i], Position( 1 )) )));
If( Is Missing(colX2[i]) != 1, Insert Into( vars, Expr( X(colX2[i], Position( 1 )) )));
If( Is Missing(colX3[i]) != 1, Insert Into( vars, Expr( X(colX3[i], Position( 1 )) )));
If( Is Missing(colX4[i]) != 1, Insert Into( vars, Expr( X(colX4[i], Position( 1 )) )));
If( Is Missing(colY[i]) != 1, Insert Into( vars, Expr( Y(colY[i]) )));
If( Is Missing(colY1[i]) != 1, Insert Into( vars, Expr( Y(colY1[i], Position( 1 )) )));
If( Is Missing(colY2[i]) != 1, Insert Into( vars, Expr( Y(colY2[i], Position( 1 )) )));
If( Is Missing(colY3[i]) != 1, Insert Into( vars, Expr( Y(colY3[i], Position( 1 )) )));
If( Is Missing(colY4[i]) != 1, Insert Into( vars, Expr( Y(colY4[i], Position( 1 )) )));
If( Is Missing(colGroupX[i]) != 1, Insert Into( vars, Expr( Group X(colGroupX[i]) )));
Re: 関数内のコンテンツをプレースホルダーに置き換えるにはどうすればよいですか?本当にグラフビルダーを動的にしようとしているのですか?このようなもの?
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
some_func = function({dt, list_x, list_y, list_group_x={}},
{varExpr, i},
varExpr=Expr(Variables());
for(i=1, i<=nitems(list_x), i++,
insert into(varExpr, EvalExpr(X(Expr(list_x[i]))));
);
for(i=1, i<=nitems(list_y), i++,
insert into(varExpr, EvalExpr(Y(Expr(list_y[i]))));
);
for(i=1, i<=nitems(list_group_x), i++,
insert into(varExpr, EvalExpr(Group X(Expr(list_group_x[i]))));
);
Eval(Substitute(
Expr(
dt << Graph Builder(
Size( 696, 578 ),
DV_VARS
)
),
Expr(DV_VARS), nameexpr(varExpr)
))
);
some_func(dt, {:weight}, {:height, :height});
some_func(dt, {:weight, :weight}, {:height}, {:age});Re: 関数内のコンテンツをプレースホルダーに置き換えるにはどうすればよいですか?こんにちはビンス anwsering のおかげで、これは素晴らしいですね。 ただし、上記の方法はより滑らかなタイプのプロットでのみ機能するため、プロットのタイプを適合線または棒グラフなどに変更するにはどうすればよいですか。
ありがとう!
関数内の内容をプレースホルダーに置き換えるにはどうすればよいですか?コードの最初の部分は、動作するのが非常に悪いですが、実際には動作しません。
Variables( vars ) をそれに置き換えると、コードの 2 番目のチャンクが機能します
最初のチャンクを機能させる方法はありますか? ここで何か間違ったことをしている場合はアドバイスしてください、ありがとう。 JMP16
//Define variables for X, X1, X2, Y, Y1, Y2, and Group X
vars = {X(colX[i]), X(colX1[i], Position( 1 )), X(colX2[i], Position( 1 )),
Y(colY[i]), Y(colY1[i], Position( 1 )), Y(colY2[i], Position( 1 ))<BR /> };<BR /><BR /> //If colGroupX[i] is not missing, add Group X statement to the variables block
If( Is Missing(colGroupX[i]) != 1,
vars = Insert Into( vars, Group X( colGroupX[i] ) )
);<BR /><BR />// Graph builder code where vars is inserted into the variables <BR /><BR /> GB = Current Data Table() << Graph Builder(
Size( 1413, 999 ),
Variables( vars ), // vars is placed here
Elements(
Points( X( 1 ), X( 2 ), X( 3 ), Y( 1 ), Y( 2 ), Legend( 11 ) ),
Smoother( X( 1 ), X( 2 ), Y( 3 ), Y( 1 ), Y( 2 ), Legend( 14 ) )
),
SendToReport(
Dispatch(
{},
"Graph",
ScaleBox,
{Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
)
)
);
Variables(
X(colX[i]),
X(colX1[i], Position( 1 )),
X(colX2[i], Position( 1 )),
Y(colY[i]),
Y(colY1[i], Position( 1 )),
Y(colY2[i], Position( 1 ))
),
高度な統計モデリング消費者および市場調査実験計画法品質およびプロセスエンジニアリングウィンドウズ