- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
WaferID と By ステートメントを照合して配布タイトルを編集する
こんにちは、
分布グラフのタイトルを編集して、もう少し説明的で、作成した別のグラフと簡単に照合できるようにしたいと考えています。各グラフのタイトルを「Wafer = XYZ...、BatchID = ABC...」にしたいと思います。
以下に作成したコードではタイトルを編集できますが、当然のことながら、以前に作成した連想配列にリストされていたすべてのバッチ ID がリストされます。 (この配列は、私が持っているテーブルの列内のすべてのバッチIDをリストしているだけです)。私がやりたいのは、Wafer を BatchID と照合し、By ステートメントを使用して各グラフのタイトルに表示することです。とにかくこれを行う方法はありますか?ありがとう!
//DISTRIBUTION PLOT
batchids = Associative Array( BatchIDs:BatchID );
RawData << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :col1 ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter( columns( :FailDie ), Where( :FailDie == 0 ) ) ),
By( :Wafer ),
SendToReport(
Dispatch(
{},
"Distributions Wafer=XYZ",
OutlineBox,
{Set Title(
"Distributions Wafer=XYZ, Batch ID = " || Char( batchids << Get Keys )
)}
)
)
);
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
Distribution の Outline Box() からウェーハ値を取り除き、ルックアップ データ テーブルからルックアップを実行して BatchID を取得するか、私の例の場合は Lot_id を取得するのは簡単なことです。それを Outline Box() のタイトルに追加します。
Names Default To Here( 1 );
dt = Current Data Table();
batchids = Associative Array( dt:lot_id );
dtlookup =New Table( "Lookup",
Add Rows( 24 ),
New Column(
["en" => "wafer", "ja" => "ウエハー", "x-id" => "S_wafer_Col", "zh-CN" => "晶片"],
Numeric( 1 ),
"Nominal",
Set Values(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24]
),
Lock( 1 )
),
New Column( "lot_id",
Character,
"Nominal",
Set Values(
{"lot01", "lot02", "lot03", "lot04", "lot05", "lot06", "lot07", "lot08",
"lot09", "lot10", "lot11", "lot12", "lot13", "lot01", "lot02", "lot03",
"lot04", "lot05", "lot06", "lot07", "lot08", "lot09", "lot10", "lot11"}
)
)
);
Dis = dt << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :npn1 ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter( columns( :site ), Where( :site == 1 ) )
),
By( :Wafer )
);
For( i = 1, i <= N Items( Dis ), i++,
theWafer = num(word(-1,Report( dis[i] )[Outline Box( 1 )] << get title,"="));
thelot = dtLookup:lot_id[(dtLookup << get rows where(:wafer == theWafer))[1]];
Report( dis[i] )[Outline Box( 1 )] <<
Set title(
Report( dis[i] )[Outline Box( 1 )] << get title || " Lot="
|| Char(thelot)
)
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
最初のコードの外でタイトルをリセットして配布を生成し、配布レポートが生成された後にタイトルを変更します。
これはスクリプトに基づく例ですが、サンプルデータに変更されています
Names Default To Here( 1 );
dt = Current Data Table();
batchids = Associative Array( dt:lot_id );
Dis = dt << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :npn1 ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter( columns( :site ), Where( :site == 1 ) )
),
By( :Wafer )
);
For( i = 1, i <= N Items( Dis ), i++,
Report( dis[i] )[Outline Box( 1 )] <<
Set title(
Report( dis[i] )[Outline Box( 1 )] << get title || " Lots="
|| Char( batchids << get keys )
)
);
注: 見やすくするために、出力の [プロセス能力] セクションを手動で閉じました。
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
txnelson さん、こんにちは。
迅速な返信ありがとうございます。 これは、すべてではなく、1 つの BatchID のみを表示する必要があることを除いて、私が望むものに近づいています。 おそらく、例の表を見るとより理にかなっているでしょう。
分布グラフのタイトルを「分布ウェーハ = A、バッチ ID = X」、「分布ウェーハ = B、バッチ ID = X」などにしたいと考えています。 Wafer を正しい BatchID に一致させます。 (または、その点でそれらをまったく一致させる方法)
注: 各 Wafer をその BatchID に一致させるテーブルが既にあります。
バッチID | ウェーハ |
バツ | あ |
バツ | B |
バツ | ハ |
よ | D |
よ | え |
よ | ふ |
Z | G |
Z | H |
Z | 私 |
私が持っていた別の副次的な質問は、あなたが送ったコードについて、Byステートメントの最初のタイトルを除いて、私のグラフのすべてのタイトルを更新しているようです. これが発生する一般的な理由を知っていますか? 私はこれを複数回見ました。
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
Distribution の Outline Box() からウェーハ値を取り除き、ルックアップ データ テーブルからルックアップを実行して BatchID を取得するか、私の例の場合は Lot_id を取得するのは簡単なことです。それを Outline Box() のタイトルに追加します。
Names Default To Here( 1 );
dt = Current Data Table();
batchids = Associative Array( dt:lot_id );
dtlookup =New Table( "Lookup",
Add Rows( 24 ),
New Column(
["en" => "wafer", "ja" => "ウエハー", "x-id" => "S_wafer_Col", "zh-CN" => "晶片"],
Numeric( 1 ),
"Nominal",
Set Values(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24]
),
Lock( 1 )
),
New Column( "lot_id",
Character,
"Nominal",
Set Values(
{"lot01", "lot02", "lot03", "lot04", "lot05", "lot06", "lot07", "lot08",
"lot09", "lot10", "lot11", "lot12", "lot13", "lot01", "lot02", "lot03",
"lot04", "lot05", "lot06", "lot07", "lot08", "lot09", "lot10", "lot11"}
)
)
);
Dis = dt << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :npn1 ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter( columns( :site ), Where( :site == 1 ) )
),
By( :Wafer )
);
For( i = 1, i <= N Items( Dis ), i++,
theWafer = num(word(-1,Report( dis[i] )[Outline Box( 1 )] << get title,"="));
thelot = dtLookup:lot_id[(dtLookup << get rows where(:wafer == theWafer))[1]];
Report( dis[i] )[Outline Box( 1 )] <<
Set title(
Report( dis[i] )[Outline Box( 1 )] << get title || " Lot="
|| Char(thelot)
)
);
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
こんにちは、txnelson! 迅速な対応と素晴らしい解決策をありがとうございました。
私はまだルックアップテーブルに問題があります。 「theWafer」は正しく検出されているようですが、デバッガーで実行すると「theLot」が読み込まれません。 これに関して何か問題がありましたか? 添付は私の正確なコードです。 私のヘッダーは「Distributions Wafer = ABC123, BatchID = .」のようになっています。
BatchIDs = 参照用のルックアップ テーブル
バッチID | ウェーハ |
QQQ1234 | ABC-123 |
YYY1234 | QWE-456 |
For( i = 1, i <= N Items( VthNew ), i++,
theWafer = char(word(-1,Report( VthNew[i] )[Outline Box( 1 )] << get title,"="));
theLot = BatchIDs:BatchID[(BatchIDs << get rows where(:Wafer == theWafer))[1]];
Report( VthNew[i] )[Outline Box( 1 )] <<
Set title(
Report( VthNew[i] )[Outline Box( 1 )] << get title || " BatchID =" || Char(theLot)
)
);
助けてくれてありがとう!
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
要するにいいえ。 必要なテーブルで動作させることができません。 それは理にかなっていて、うまくいくはずですが、私が言えることから。 前回のメッセージで送信したエラー (返信がなかったのは残念です) が引き続き表示されます。 私がよく理解していない唯一のことは、この行の最後の [1] です。
theLot = AllTheBatchIDs:BatchID[(AllTheBatchIDs << get rows where( :Wafer == theWafer ))[1]];
それは何をするためのものか? 助言がありますか?
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
「theLot」のエラーメッセージ
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
サンプル スクリプトのエラーです。私が使用していたサンプルデータテーブルを使用するには、以下を参照してください。
実行している JMP のバージョンは何ですか?
私が提供した私のサンプルプログラムでは、行を変更してください
dt = current data table();
に
dt = open("$sample_data/semiconductor capability.jmp");
そして、スクリプトを実行します。エラーなく動作するはずです。
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: By ステートメントで WaferID を一致させてディストリビューション タイトルを編集する
私はJMP14を実行しています。
奇妙なことに、このコード行から [1] を削除すると、スクリプトは正しく実行されます。 他のすべてを同じままにします。
thelot = dtLookup:lot_id[(dtLookup << get rows where(:wafer == theWafer))[1]];
次のように変更されました。
thelot = dtLookup:lot_id[(dtLookup << get rows where(:wafer == theWafer))];
ご協力いただきありがとうございます。
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。