Eval( Eval Expr( 數據過濾框) 內的單個類別顯示祝大家新年快樂!
我偶然發現了一段漂亮的代碼,使用 Eval( Eval Expr( 使過濾器框本質上通用,這意味著我可以只填充一個列表,過濾器框將代表給定數據表中的所有列。 在我的一些表格中,我有多達 25 種不同的過濾器組合,我喜歡使用“單一類別顯示”它們。 但是,當我使用 Eval( Eval Expr( 時,只有列表中的第一個名稱獲得“單一類別”,其餘的最終成為一個列表。 有沒有辦法讓我把它們全部變成一個類別?
我附上了使用半導體能力數據表的示例腳本。 當您運行腳本時,您將在數據過濾器上下文框(數據過濾器)中看到只有lot_id是單一類別,而不是晶圓。 我正在尋求將它們(或任何組合)單一類別。
注:感謝 txnelson 先生幫助我繪製分佈圖的實際表達式。
提前致謝
質量和工藝工程回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示再次感謝好心的先生,成功了
回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示在 for 循環中你可以使用這樣的東西:
for(i = 1, i <= N Items(filterCol), i++,
dtFilter << Display(filterCol[i], Size( 188, 16 ), Height( 16 ), "Single Category Display");
curFilter = dtFilter << Get Filter Column(filterCol[i]);
curFilter << Clear Find;
);
回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示關於數據過濾器中“查找”功能的快速問題。 您可以禁用它還是默認在單個類別顯示中顯示一定數量的項目?回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示我感覺上面的 JSL 可能過於復雜。 你可以這樣做:
NamesDefaultToHere(1);
dt = Open( "$sample_data/Semiconductor Capability.jmp" );
// Columns to filter by (in a list)
filterCol = {"lot_id", "wafer"};
// Example report
dist = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :NPN1 ),
Quantiles( 0 ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Process Capability( Use Column Property Specs )
),
Automatic Recalc( 1 )
);
// Add a data filter
df = dist << Local Data Filter(Add Filter(columns( Eval(filterCol) )));
// Change the display format of all the filter variables
for(c=1, c<=NItems(filterCol), c++, df << Display( Eval(filterCol[c]), "Single Category Display" ));
回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示第一個腳本完美運行。 非常感激。
回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示事實上,您似乎只需在 Display() 中省略 Expr( filterCol ) 即可做到這一點:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display(Size( 188, 16 ), Height( 16 ), "Single Category Display")
)
)
)
)
)
)
)
)
);回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示謝謝 Jarmo,我會在幾分鐘內嘗試第一個。
第二個腳本的問題是filterCol[1],在任何給定的SQL 查詢中該數字可能是1 - 5。 因此,我為每個產品的數據過濾器上下文框編寫了一個單獨的腳本。 為什麼當我看到 Expr( Eval Expr(.
回复:Eval( Eval Expr( 數據過濾框) 內的單個類別顯示您可以像這樣進行輕微修改(注意 Eval 中的 dtFilter 變量):
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dtFilter = dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) )
)
)
)
)
)
)
)
)
);
for(i = 1, i <= N Items(filterCol), i++,
dtFilter << Display(filterCol[i], Size( 188, 16 ), Height( 16 ), "Single Category Display" )
);我認為添加過濾器可能不允許您同時添加多個顯示器,因為這也有效:
Eval(
Eval Expr(
dfcb100_S = Data Filter Context Box(
filter100_S = H List Box(
graph_vlb100_S = V List Box(
Lineup Box( N Col( 1 ),
Border Box( Sides( 15 ),
dt << Data Filter(
Local,
Mode( Show( 0 ) ),
Add Filter(
Columns( Expr( filterCol ) ),
Display( Expr( filterCol[1] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" ),
Display( Expr( filterCol[2] ), Size( 188, 16 ), Height( 16 ), "Single Category Display" )
)
)
)
)
)
)
)
)
);