グラフ基準線として表示<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />グラフ化したいすべてのデータテーブルにスクリプトを使用して仕様制限をインポートしています。分布にはスペックが表示されますが、箱ひげ図にはスペックが表示されません。「Show Spec Limits(1)」を複数の領域に挿入しようとしましたが、成功しませんでした。私は JSL 初心者なので、専門知識を探しています。各列のプロパティ GUI を参照してボックスをチェックするのは管理不可能です。コードの一部を次に示します。
dt = open("datatable.jmp");
obj = 能力(
Y( :spec1, :spec2, :spec3, :spec4 ),
仕様制限(Import Spec Limits("spec_limits_table.jmp")));
obj << 制限を表示(1);
obj << 列プロパティとして仕様制限を保存;
Re: グラフ基準線として表示それは見事に機能します、ジム。ありがとう!!!
Re: グラフ基準線として表示付属のスクリプトを実行したところ、Capability Platform が、正しく構造化されていない仕様制限列プロパティと思われるものを作成していることがわかりました。返答を求めてこれを JMP に送信しました。
変更する必要があるのは、現在の構造を考慮して現在の仕様制限を抽出する方法だけです。新しい構造はリストではありません。
これは、データで機能すると思われる再加工されたスクリプトです。[制限の表示] 値が設定されると、JMP は仕様制限プロパティの構造を変更するため、今後の "get property("仕様制限")" は、機能によって割り当てられた奇妙な構造ではなく、仕様制限をリストとして返すことを覚えておいてください。プラットホーム。
デフォルトの名前はここにあります( 1 );
dt=現在のデータテーブル();
// データテーブル内のすべての数値列を取得します
数値列 = dt <<列名を取得する(数値、文字列);
// すべての列をループし、表示制限を設定します
のために( i = 3 、私<= N 個のアイテム(数値列)、i++、
// 仕様制限を取得するリクエストが空の値を返した場合、
// 列には仕様制限がないため、制限の表示を設定しないでください
もし(空です(カラム( dt、数値列) <<財産を得る( 「スペックの限界」 ) ) == 0 、
// これはスペック制限リストの構造です。 を設定するだけの場合は、
// 制限を表示すると、他の制限が消去されるため、制限を表示する必要があります。
// 取得して構造体に代入する
限界値 =シャア(カラム(dt,数値列) <<財産を得る( 「スペックの限界」 ) );
LSL =試す(番号(言葉( 2 、サブ文字列( 限界値、含まれています( 限界値、 "LSL(" ))、 「()」 ))、 。 );
USL =試す(番号(言葉( 2 、サブ文字列( 限界値、含まれています( 限界値、 "USL(" ))、 「()」 ))、 。 );
ターゲット =試す(番号(言葉( 2 、サブ文字列( 限界値、含まれています( 限界値、 "目標(" ))、 「()」 ))、 。 );
評価(
代わりの(
エクスプレッション(
カラム( dt, __col__ ) <<プロパティの設定(
「スペックの限界」 、
{LSL( __LSL__ )、USL( __USL__ )、ターゲット( __Target__ )、制限の表示( 1 )}
)
)、
エクスプレッション( __col__ )、数値列、
エクスプレッション( __LSL__ )、LSL、
エクスプレッション( __USL__ )、USL、
エクスプレッション( __Target__ )、ターゲット
)
);
)
);
Re: グラフ基準線として表示申し訳ありませんが、最終保存仕様のコマンドが抜けていました。
obj << 列プロパティとして仕様制限を保存;
Re: グラフ基準線として表示私の仕様制限の構造について理解できているかどうかはわかりません。以下は、制限を付加するために実行しているスクリプトです。これにより、指定された列にすべての制限が設定されます。これはヘルプのスクリプト例から引用したものです。何かが足りないのでしょうか?
2 つの方法を試しましたが、どちらも成功しませんでした。
1. コードをこのスクリプトに追加して実行します。
2. このスクリプトを dt に対して実行します。仕様制限を含めて dt を保存します。上記のコードを別のスクリプトで実行します。
名前のデフォルトは Here(1) です。
dt = Open( "C:\junk1_example.jmp" );
obj = 能力(
Y(
:名前( "Met1_Res/um" ),
:名前( "Met2_Res/um" ),
:名前( "Met3_Res/um" ),
:名前( "Met4_Res/um" ),
)、
仕様制限(:Name( "Met1_Res/um" ) (LSL(1.0), Target(1.3), USL(1.6) ),
:Name( "Met2_Res/um" ) (LSL(1.0)、ターゲット(1.3)、USL(1.6) )、
:Name( "Met3_Res/um" ) (LSL(1.0)、ターゲット(1.3)、USL(1.6) )、
:Name( "Met4_Res/um" ) (LSL(1.0)、ターゲット(1.3)、USL(1.6) )
)
);
Re: グラフ基準線として表示まず、投稿したコードに小さな間違いがあります。この線:
もし(空です(カラム( dt 、数値列[私】 ) ) == 0 、
実際には次のようになるはずです:
もし(空です(カラム( dt 、数値列[私】 ) <<財産を得る( 「スペックの限界」 ) ) == 0 、
しかし、それがスクリプトで仕様制限を排除する理由ではありません。
この問題の原因は、元のデータ テーブルに制限を設定するために使用する方法が何であれ、制限が誤って指定されていることです。ディストリビューションなどのプラットフォームで動作しているように見えても、実際のスペック制限の指定は間違っていました。
最後の応答に添付したデータ テーブルから仕様制限プロパティが抽出されると、次のものが返されます。
スペック制限( LSL( 1 )、USL( 1.6 )、ターゲット( 1.3 ) )
返されるべきものは次のとおりです。
{LSL( 1 )、USL( 1.6 )、ターゲット( 1.3 )}
Met1_Res/um 列の仕様制限に手動で移動し、「制限を表示」チェックボックスを設定すると、制限リストが適切な構造に変更されます。
私が含めた元のコードを取得し、実行するように設定されている半導体能力データ テーブルに対して実行すると、「制限の表示」値が設定されていることがわかります。サンプル データ テーブルで正しい仕様限界構造に変更しても、同様に機能します。
もちろん、元のデータ テーブルにある構造を読み取るスクリプトを作成することもできます。その後、表示制限値が制限とともに置き換えられると、その構造は正しい構造に自動的に変更されます。しかし、私はこれには反対し、間違った制限構造を誤って指定している pgm を見つけて修正することをお勧めします。
Re: グラフ基準線として表示JMP12.2
dtを交換してコードを実行しました --> ファイルのみを開きます。基本的に、私のデータに対してコードを実行します。
Re: グラフ基準線として表示JMP のどのリリースを使用していますか?
あなたが述べているコメントは、コードの実行に基づいたものであり、変更することなく、私が応答に含めたものですか、それともコメントは、データテーブルに対してそのコードを実行したことに基づいていますか?
使用しているデータテーブルを添付していただけますか?
Re: グラフ基準線として表示何らかの理由で、列名(数値、文字列)を取得すると、仕様の制限がなくなりました。列名(数値)を取得するように変更すると、制限は残りますが、[仕様を表示]ボックスはチェックされません。
Re: グラフ基準線として表示以下は、データ テーブル内のすべての数値列に仕様制限がある場合に表示制限を設定するスクリプトです。
デフォルトの名前はここにあります( 1 ) ;
dt =開ける( 「$SAMPLE_DATA/半導体能力.jmp」 ) ;
// データテーブル内のすべての数値列を取得します
数値列= dt <<列名を取得する(数値、弦) ;
// すべての列をループし、表示制限を設定します
のために(私= 3 、私<= N 個のアイテム(数値列) 、私++、
// 仕様制限を取得するリクエストが空の値を返した場合、
// 列には仕様制限がないため、制限の表示を設定しないでください
もし(空です(カラム( dt 、数値列[私】 ) ) == 0 、
// これはスペック制限リストの構造です。 を設定するだけの場合は、
// 制限を表示すると、他の制限が消去されるため、制限を表示する必要があります。
// 取得して構造体に代入する
評価(
代わりの(
エクスプレッション(
カラム( dt 、 __列__ ) <<プロパティの設定(
「スペックの限界」 、
{ LSL ( __LSL__ ) 、 USL ( __USL__ ) 、目標( __目標__ ) 、制限を表示( 1 )}
)
) 、
エクスプレッション( __列__ ) 、数値列[私] 、
エクスプレッション( __LSL__ ) 、試す( (カラム( dt 、数値列[私】 ) <<財産を得る( 「スペックの限界」 ))[ 「LSL」 】 、 。 ) 、
エクスプレッション( __USL__ ) 、試す( (カラム( dt 、数値列[私】 ) <<財産を得る( 「スペックの限界」 ))[ 「USL」 】 、 。 ) 、
エクスプレッション( __目標__ ) 、試す( (カラム( dt 、数値列[私】 ) <<財産を得る( 「スペックの限界」 ))[ "目標" 】 、 。 )
)
)
)
) ;