5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?以下のサンプル スクリプトでは、必要な形式で 5 つの数値の概要を取得できます。ただし、各パラメーター (分析列の下)、LSL および USL の仕様制限も、最終的な「概要」データ テーブルの 2 つの別々の列で取得したいと思います。これを JSL で取得するにはどうすればよいですか?
また、Tabulate() を使用せずに必要なことを実行する別の/より良い方法はありますか?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
自動化とスクリプトウィンドウズRe: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?制限管理システムを使用して、必要なことを行うことができます
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(
Process Variables ( eval(procCols) )
);
obj << Save to Tall Limits Table;
dtLimits = current data table();
obj << close window;
try( window("Consistency Problem") << close window );
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);

Re: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?@txnelsonありがとう。JMP 16.2でエラーが発生します

Re: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?現在のデータテーブルに頼るのではなく、変数を使用すれば十分かもしれません。少なくともJMP17.2では、tabulate << make into data tableと<< save tall limits tableはテーブルへの参照を返します。
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Statistics(Min)),
Column Table(Statistics(Mean, Median)),
Column Table(Statistics(Max)),
Column Table(Statistics(Std Dev)),
Row Table(
Grouping Columns(:lot_id, :wafer, :Wafer ID in lot ID),
Analysis Columns(
Eval(col_names)
)
)
)
);
dttab = tab << Make Into Data Table;
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(Process Variables(Eval(procCols)));
dtlimits = obj << Save to Tall Limits Table;
obj << close window;
Try(Window("Consistency Problem") << close window);
dtTab << Update(
with(dtLimits),
Match Columns(:Analysis Columns = :Variable),
Add Columns from Update Table(:LSL, :Target, :USL)
);Re: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?@jthi JMP 16.2でこのエラーが発生します
Object 'Data Table' does not recognize the message 'Manage Limits'; <BR />perhaps you mean one of these: <<MANAGE spec="" limits=""><<ITEM analysis=""><<FACTOR><<COMBINE columns...=""><<MAKE indicator=""><<NEW><<PASTE columns=""><<MARKERS><<SELECT matching="" cells=""><<GET rows=""><<MAXIMIZE display=""><<MOVE scripts=""><<RENAME table="" script=""><<MATCHED pairs=""><<MULTIVARIATE><<NORMAL mixtures=""><<CAPABILITY><<PARALLEL plot.="" there="" is="" no="" other="" opened="" data="https://community.jmp.com/" to="" update="" the="" current="" table.="" empty=""></PARALLEL></CAPABILITY></NORMAL></MULTIVARIATE></MATCHED></RENAME></MOVE></MAXIMIZE></GET></SELECT></MARKERS></PASTE></NEW></MAKE></COMBINE></FACTOR></ITEM></MANAGE>
Changing Manage Limits () to Manage Spec Limits () gives me another error.
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo_0-1726217735617.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><span class="lia-inline-image-display-wrapper" image-alt="Neo_0-1726217735617.png" style="width: 385px;"><img src="https://us.v-cdn.net/6038925/uploads/images/68217i191CDFCAD2681B08/Neo_0-1726217735617.png" role="button" title="Neo_0-1726217735617.png" alt="Neo_0-1726217735617.png" /></span></SPAN></SPAN></SPAN>
Re: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?おそらくこれはJMP16.2では機能しないでしょう。テーブルに対して異なるタイプのチェックを実行する必要があります。私の記憶が正しければ、Get Data Table List()はかなり堅牢なオプションであり、最新のテーブルが常に最初に表示されます。
Re: 5 ポイント要約表の個別の列に仕様制限を取得するにはどうすればよいですか?コードを変更して、制限の管理セクションを削除し、元のテーブルから制限を読み取って制限テーブルを作成する単純な JSL に変更しました。これが機能するかどうかを確認してください。
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );
(tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Min ) ),
Column Table( Statistics( Mean, Median ) ),
Column Table( Statistics( Max ) ),
Column Table( Statistics( Std Dev ) ),
Row Table(
Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
Analysis Columns(
Eval( col_names )
)
)
)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;
procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
// Create a limits table
dtLimits = new table("Limits",
new column("Variable", character),
new column("LSL"),
New column("Target"),
New column("USL")
);
For Each({col}, procCols,
specs = column(dt, col) << get property("Spec Limits");
if(isList(specs),
dtLimits << add rows(1);
dtLimits:Variable[nrows(dtLimits)] = col;
dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
dtLimits:Target[nrows(dtLimits)] = specs["Target"];
dtLimits:USL[nrows(dtLimits)] = specs["USL"];
)
);
dtTab << Update(
with( dtLimits ),
Match Columns( :Analysis Columns = :Variable ),
Add Columns from Update Table( :LSL, :Target, :USL)
);