WaferIDとByステートメントを照合して配布タイトルを編集するこんにちは、
分布グラフのタイトルを編集して、もう少しわかりやすく、作成した別のグラフと一致しやすくしたいと思います。 各グラフのタイトルを「Wafer = XYZ ...、」にします。 BatchID = ABC ... "

以下で作成したコードを使用すると、タイトルを編集できますが、当然のことながら、以前に作成した連想配列にリストされていたすべてのバッチIDがリストされます。 (この配列は、私が持っているテーブルの列にあるすべてのbatchIDをリストするだけです)。 私がやりたいのはウェーハを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 )
)}
)
)
);グラフィックススクリプティングRe:WaferIDとByステートメントを照合して配布タイトルを編集するディストリビューションを生成するために初期コードの外でタイトルをリセットし、ディストリビューションレポートが生成された後にタイトルを変更します

これはスクリプトに基づく例ですが、サンプルデータに変更されています
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 )
)
);
注:より良い画像を得るために、出力のプロセス機能セクションを手動で閉じました
Re:WaferIDとByステートメントを照合して配布タイトルを編集するこんにちはtxnelson、
迅速な返信ありがとうございます。 これは、各ウェーハを除いて、すべてではなく1つのBatchIDのみを表示する必要があることを除いて、私が望むものに近づいています。 おそらく、テーブルの例を見る方が理にかなっています。
分布グラフのタイトルを「DistributionWafer = A、BatchID = X」、「Distribution Wafer = B、BatchID = X」などにしたいのですが、どういう意味かよくわかりません。ウェーハを正しいBatchIDに一致させます。 (または、そのことについては、それらをどのように一致させるか)
注:各ウェーハをすでに利用可能なBatchIDに一致させるテーブルがあります。
| BatchID | ウェーハ |
| バツ | A |
| バツ | B |
| バツ | C |
| Y | D |
Y | E |
| Y | F |
| Z | G |
| Z | H |
| Z | 私 |
私が持っていたもう1つの副次的な質問は、送信したばかりのコードについて、Byステートメントの最初のタイトルを除くグラフのすべてのタイトルを更新するように見えることです。 これが発生する可能性がある一般的な理由を知っていますか? 私はこれを何度も見ました。
Re:WaferIDとByステートメントを照合して配布タイトルを編集するディストリビューションのOutlineBox()からウェーハ値を取り除き、ルックアップデータテーブルからルックアップを実行してBatchIDを取得するか、私の例の場合はLot_idを取得するのは簡単なことです。次に、それをアウトラインボックス()のタイトルに追加します。

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)
)
);Re:WaferIDとByステートメントを照合して配布タイトルを編集するこんにちはtxnelson! 迅速な対応と素晴らしい解決策をありがとうございました。
ルックアップテーブルでまだ問題が発生しています。 「theWafer」は正しく検出されているようですが、デバッガーで実行すると「theLot」が表示されません。 これに関して何か問題がありましたか? 添付されているのは私の正確なコードです。 私のヘッダーは「DistributionsWafer = ABC123、BatchID =」のようになります。
BatchIDs =参照用のルックアップテーブル
| BatchID | ウェーハ |
| 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)
)
);
助けてくれてありがとう!
Re:WaferIDとByステートメントを照合して配布タイトルを編集する前回の回答で提供した例は役に立ちますか? それが出発点である必要があります。