K シグマ マクロの仕様制限を設定する私は、非正規データに対して推奨される仕様制限を取得するために、「Distribution」プラットフォームと「KSigma の仕様制限の設定」をよく使用します。ワークフローは、分布 -> 分布の割り当て -> 分布出力のプロセス能力 -> K シグマの仕様制限の設定です。列が多数ある場合、これは長いプロセスになる可能性があります。
理想的には、適切な分布を割り当てて、各列をループして「制限を設定...」出力を行うマクロを作成できると思います。この機能のサンプル スクリプトはありますが、ハードコードされた配布があり、すべての列にのみ適用されるようです。
私の最初のハードルは、ばかばかしいように思えますが、割り当てられたディストリビューションをディストリビューション プラットフォームから取得して、そのハード コーディング (この例では LogNormal) を置き換えることです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
current report()["Distributions"]<< get scriptable object; のようなものを使用することを考えていました。
開放分布分析にコードを使用できるようにするには、開放分布内の列をループする方法を理解する必要があります。
私が考えていたもう 1 つのオプションは、分布を列プロパティとして割り当て、そこから取得して個別の分析を多数実行することでしたが、その方法に進むコードも見つかりませんでした。
アイデアをありがとう!!
スティーブ
品質およびプロセスエンジニアリングRe: K シグマ マクロの仕様制限を設定するそれで問題は解決しましたが、問題の一部は私自身の仕業だったことが分かりました。Handle[1] は、AIC 順序テーブルの最初の分布ではなく、リストの順序 (Normal、Cauchy、Lognormal など) の最初の分布に対するものであるとは知りませんでした。したがって、マクロが実行されても、正規分布に適用されていて非表示になっているため、何も表示されません。 Handle[1] を Handle["best"] に変更すると、選択した最適なディストリビューションで動作しました。
最終的なコードは次のとおりです (たくさんのことを学びましたが!) Tonya のすべての協力に改めて感謝します。
Names Default To Here( 1 );
dt=Current Data Table();
pf=current report()["Distributions"]<< get scriptable object;
pf<<(Fit Handle["best"]<<PROCESS capability=""></PROCESS>
Re: K シグマ マクロの仕様制限を設定する新しいフィッターと従来のフィッターを混在させています。新しいフィッターにとってコードは完全に異なるものである必要があります。以下は、新しいフィッター用のコード例です。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt<<DISTRIBUTION></DISTRIBUTION>
Re: K シグマ マクロの仕様制限を設定するTonya をもう少しご覧いただきありがとうございます。
あなたが提供したコードが機能することに同意しますが、最初にマクロを介してディストリビューションを割り当てているため、機能しているように見えます。ディストリビューションを削除して手動で再追加し、マクロの最後の 2 行を実行しようとしても機能しません。
興味深いと思ったのは、近似分布には「近似指数分布」という名前が付いているのに対し、手動で割り当てると「近似指数分布」が表示されるということです。そこで考えさせられたのが…レガシーフィットを使えばなんとかなる!したがって、従来のフィッターを有効にし、分布を手動で適合させて、最後の 2 行を実行すると、完全に機能します。
では、15 で登場した新しいフィット機能を使用できるようにするには、スクリプトを変更する必要があるのでしょうか?
スティーブ
Re: K シグマ マクロの仕様制限を設定するディストリビューションに複数の列がある場合、コードは正常に機能します。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution(
Continuous Distribution(
Column( :CO ),
Fit Distribution(
Exponential
)
),
Continuous Distribution( Column( :POP ), Fit Distribution( Gamma) )
);
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
Re: K シグマ マクロの仕様制限を設定する私のスクリプトを含めるとおそらく役立つでしょう:
Names Default To Here( 1 );
dt=Current Data Table();
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
理想的には、ディストリビューション プラットフォームを実行し、各列のディストリビューションを選択してから、このスクリプトを実行してすべての仕様制限を設定します。
したがって、これは機能しますが、分布分析に列が 1 つある場合に限ります。
スティーブ
Re: K シグマ マクロの仕様制限を設定する複数の列でうまくいきました。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO, :POP ) );
obj << Fit Distribution( exponential ) ;
obj<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
Re: K シグマ マクロの仕様制限を設定するありがとうトーニャ!
それは本当にうまくいきます。ただし、分布分析に列が 1 つある場合にのみ機能するようです。分析に複数の列がある場合に機能させるために何か変更する必要がありますか?複数ある場合は機能しません。エラーはありませんが、何も起こりません。
サンプル ライブラリのスクリプトは複数の列で実行されます (ただし、これはハードコードされた配布の選択です)。
スティーブ
Re: K シグマ マクロの仕様制限を設定する応答ごとに適合が 1 つだけの場合は、次を使用できます。
obj<<(Fit Handle[1]<<( KSigma( 3 ) の仕様制限を設定) );
Re: K シグマ マクロの仕様制限を設定する「ツリー構造の表示」は、レポート内で適切な位置を指定するのに役立ちます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
obj << show tree structure;