Cusum スクリプトに変数を渡すこんにちは皆さん
以下のスクリプトを実行すると、変数 Targ のターゲット値 8 が CuSum チャートに渡されません。代わりに、ターゲット値 8.09629 が計算され、使用されます。何が起こっているのでしょうか。また、ターゲット値 8 をスクリプトに渡すにはどうすればよいのでしょうか。
ありがとう
Names Default To Here( 1 );
targ = 8;
dt = Open( "$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp" );
obj = dt << CUSUM Control Chart( Y( :weight ), X( :hour ), Target (targ), Sigma (0.05), head start (0.05)
);
自動化とスクリプトRe: Cusum スクリプトに変数を渡す例えばEval(EvalExpr())を使って評価することができます。
Names Default To Here(1);
targ = 8;
dt = Open("$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp");
Eval(EvalExpr(
obj = dt << CUSUM Control Chart(
Y(:weight),
X(:hour),
Target(Expr(targ)),
Sigma(0.05),
head start(0.05)
);
));
Re: Cusum スクリプトに変数を渡す完璧です。ありがとうございます。
Re: Cusum スクリプトに変数を渡す上記のソリューションに基づいて、By: が使用されているが、日によってターゲット値が異なる複数の CuSum チャートに同様のものを実装するにはどうすればよいでしょうか。次のスクリプトの例では、Day =1 の場合、targ = 6。day =2 の場合、targ = 7 などとなります。
名前はデフォルトでここに設定されます(1);
ターゲット = 6;
dt = Open("$SAMPLE_DATA/Quality Control/Vial Fill Weights.jmp");
評価(評価式(
obj = dt << CUSUM管理図(
Y(:充填重量),
X(:サンプル)、
ターゲット(Expr(ターゲット))、
(:日) までに
);
));
Names Default To Here(1);
targ = 8;
dt = Open("$SAMPLE_DATA/Quality Control/Oil1 Cusum.jmp");
Eval(EvalExpr(
obj = dt << CUSUM Control Chart(
Y(:weight),
X(:hour),
Target(Expr(targ)),
Sigma(0.05),
head start(0.05)
);
));
Re: Cusum スクリプトに変数を渡すBy 変数を使用する場合は、少し複雑になります。おそらく各プラットフォームをループすることになります (これは JMP のバージョンによって異なる場合があります)。これで、何ができるかについてのアイデアが得られると思います。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Vial Fill Weights.jmp");
targs = ["1" => 5, "2" => 6, "3" => 7, "4" => 8, "5" => 9];
Eval(
Eval Expr(
ccs = dt << CUSUM Control Chart(
Y(:Fill Weight),
X(:Sample),
By(:Day)
)
)
);
For Each({cur_cc}, ccs,
cur_rep = Report(cur_cc);
cur_day = Word(-1, (cur_rep << get title), "=");
Eval(EvalExpr(
cur_cc << Target(Expr(targs[cur_day]));
));
);
基本的に私は「spec」連想配列を持っていて、Word(-1,...)を使用して「フィルタリングされた」値を取得し、それを使って連想配列から値を取得し、それを使用してターゲットを設定します。
Re: Cusum スクリプトに変数を渡す素晴らしいです。本当にありがとうございます。
Re: Cusum スクリプトに変数を渡す解決策をありがとうございました
もっと見る...スクリプトで問題が発生しているようです。ターゲット値が丸められたり再計算されたりして、必要な 8 ではなく 8.09629 という値になります。ターゲット値 8 が CuSum チャートに正しく渡されるようにするには、スクリプトでターゲット値を変更する可能性のある丸め関数や計算関数がないかどうかを確認します。ターゲット値が明示的に設定され、変更なしで使用されていることを確認します。データ型を確認し、暗黙的な変換が精度に影響していないことを確認します。学校の締め切りは大変なこともありますが、
https://liahelp.comを使用すると、管理がはるかに簡単になります。このサイトでは、エッセイや研究論文などの学術的な執筆サービスを提供しており、すべてオリジナルであることが保証されています。カスタマー サポートは迅速かつ親切で、必要なものを確実に入手できます。また、修正も提供しているため、最終的な製品はまさに私が望んでいたものになります。学生には絶対にお勧めです。