参照ファイルからのスクランブル管理限界制限値を更新した新しいフェーズを管理制限ファイルに追加する前は、私のスクリプトは問題なく機能していました。今限界はスクランブルされています。管理限界ファイルを4回チェックして、それらが正しい順序になっていることを確認しました。何が原因で混乱が生じる可能性がありますか?私は複数の商品チャートで同じ問題を経験しています。Value Orderingを割り当ててRow Order Levelをオンにしてみましたが、どちらもうまくいきませんでした。
dt_limits = Open( "R:\Research\PS5\Control_Limits\PMC013\PMC013 Metrology CLs Review.jmp" );
dt_limits << Sort( By( :Quarter ), Order( Ascending ), Replace Table );
dt = Open( "R:\Research\PS5\Control_Limits\JMP SPC files\PMC013 SPC Charts.jmp" );
添付の図では、フェーズ "4 2015"の制限はフェーズ "3 2018"に属しています

参照ファイルからのスクランブル管理限界両方の解決策を試してみました。2番目の解決策は、JMPが作成した制限を使用して制限ファイルを使用する代わりにチャートを作成したものです。要約指定は、顕著な違いはありませんでした。
値の順序や行の順序のレベルを割り当てたり削除したりすることで、他のチャートでこの問題を「修正」しましたが、この問題は依然として解決しないままです。
行ごとに、制限は1、1 2016、2 2015、2 2017などの順序で適用されます。
参照ファイルからのスクランブル管理限界あなたのコードはよさそうです。Metrology [i]に1つ以上の行方不明の四半期がある場合、For jカウントループはオフになる可能性があります。
デバッガを使用しましたか?
私がするかもしれない唯一の変更は要約のためにテーブルxを指定することです
summarize( yTables[i], phaselevels=By(:Quarter) )
また、"For j-loop"で位相制限を数える代わりに、制限を満たすためにコードを使うかもしれません。
dt_limits << Sort( By( :Quarter, :_LimitsKey ), Order( Ascending, Ascending ), Replace Table );
//other code not shown
For( j = 1, j <= N Items( phaseLevels ), j++,
km = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_Mean");
kl = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_LCL");
ku = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_UCL");
ks = dt_limits << get rows where(:Quarter == phaseLevels[j] & :_LimitsKey=="_Std Dev");
Insert Into(
imExpr,
Eval Expr(
Phase Level(
Expr( phaseLevels[j] ),
Sigma( Expr( sigma[ks] ) ),
Avg( Expr( avg[km] ) ),
LCL( Expr( lcl[kl] ) ),
UCL( Expr( ucl[ku] ) )
)
)
)
);それが役立つことを願っています。
参照ファイルからのスクランブル管理限界これは完全なスクリプトから先頭の行マークを除いたものです。
dt_limits = Open( "R:\Research\PS5\Control_Limits\PMC013\PMC013 Metrology CLs Review.jmp" );
dt_limits << Sort( By( :Quarter ), Order( Ascending ), Replace Table );
dt = Open( "R:\Research\PS5\Control_Limits\JMP SPC files\PMC013 SPC Charts.jmp" );
Metrology = dt_limits << get column names( numeric, continuous, string );
yTables = {};
rpt = New Window( "SPC",
<<ONCLOSE></ONCLOSE>
サンプルはロット番号で分類されています。上記のスクリプトが実行される前に、テーブル全体が[四半期]、[ロット番号]の順に並べ替えられます。管理限界ファイルの写真を添付しました。

私が持っている唯一のソートオプションは、何かが足りない場合を除いて、昇順と降順です。
参照ファイルからのスクランブル管理限界サンプルラベルに変数を使用していますか?それは何ですか?ソート順(四半期)は四半期年のように見えます。これは年代順ではなくアルファベット順です。これはあなたが望む順番ですか?
ソート済みの制限ファイルとスクリプト(管理図からスクリプトを保存)を表示せずにすみません、私ができることは推測だけです。