こんにちは、
助けていただければ幸いです。私はまだ JSL の初心者です。次のような問題があります:
次のような表があります:
機能データ USL
ナンバー1 スペックA
Aナンバー2 スペックA
ナンバー3 スペックA
Bナンバー4 スペックB
Bナンバー5 スペックB
Bナンバー6 スペックB
データ フィルターを使用して機能を選択する必要があります。次に、特に機能のデータを管理図に表示する必要があります。同時に、もちろん、チャートの各機能の仕様限界も表示する必要があります。
これをスクリプトに組み込むにはどうすればよいですか? チャート内の 1 つの機能の仕様制限を含むデータのみを表示できます。フィルターで他の機能を選択すると、最初の仕様制限が保持されます。
解決策はおそらく簡単なのですが、私にはわかりません。
助けてくれてありがとう!
ジムがスクリプトを手伝ってくれると確信していますが、なぜスペックが必要なのかを尋ねなければなりません。管理図の制限? スペック制限は、プロセスの実際の変動性から独立して導出(または確立)されます。 紛らわしい管理限界と仕様。制限があると、プロセスで何が起こっているのかを理解するのが難しくなります。 シューハートタイプのグラフを使用している場合、管理図は、サブグループ内の変動の一貫性/安定性を理解し(範囲グラフ)、内部と中間を比較することを目的としています(Xbarグラフ)。 あなたは平均と通常はスペックをプロットしています。平均ではなく、個人に関連しています。 スペックフォーム、フィット感、機能の限界を確立することを目的としています。 変動性(Rbar / d2)の推定値を取得して分布を作成する場合は、仕様を追加できます。ディストリビューションに。
ほとんどの場合、JMPで仕様の制限が必要な場合は、データを分割して列のプロパティを使用することをお勧めします。 また、データフィルターを使用する必要がある理由はありますか(分割データでは列スイッチャーを使用します)?
次のスクリプトを見てください。
テーブルが作成され、その中に必要な操作を実行できるスクリプトが含まれます。
機能を列に分割し、USL を設定します。
私も@jthiと同じ意見ですが、異なる範囲 (または仕様) のデータを別々の列に配置すると簡単になります。
New Table( "test-split",
Add Rows( 9 ),
New Script(
"__split_usl",
cdt = Current Data Table();
Summarize( cdt, spec_lst = by( :Feature ), usl_lst = Mean( :USL ) );
sdt = cdt << Data Table( "test-split" ) <<
Split(
Split By( :Feature ),
Split( :data ),
Remaining Columns( Drop All ),
Sort by Column Property,
Output table( "Split Table with USL" )
);
For( i = 1, i <= N Items( spec_lst ), i++,
Eval(
Eval Expr(
Column( sdt, spec_lst[i] ) <<
Set Property(
"Spec Limits",
{USL( Expr( usl_lst[i] ) ), Show Limits( 1 )}
)
)
)
);
),
New Column( "Feature",
Character,
"Nominal",
Set Values( {"A", "A", "A", "B", "B", "B", "C", "C", "C"} )
),
New Column( "data",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9] )
),
New Column( "USL",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [3, 3, 3, 6, 6, 6, 9, 9, 9] )
)
);
代わりに、プロセス スクリーニング プラットフォームの使用を検討してください。フィーチャをグループ化変数として割り当てることができます。
グループ化列に基づいて異なるプロセス仕様限界 - JMP ユーザー コミュニティ