多參數選擇你好,
我有以下腳本,它將通過幾個測試(Test1、Test2、Test3、Test4、Prepass)對 test_type_combo 進行製表,每個測試都將 n_unit 和 n_unit_passed 的總和命名為參數coil_supplier_A. 然後將創建一個新列 Yield。 從這裡開始,我將使用 Graph builder 來進行繪圖。 我能知道我是否有多個供應商參數,每個參數都在一列中,例如。 coil_supplier_B、coil_supplier_C 和 coil_supplier_D,我如何將所有供應商放入腳本並自動繪製每個人(在這種情況下總共有 4 個地塊)。 或者,也許還有其他更好的方法來做到這一點。
非常感謝。
腳本:
dt = Current Data Table();
tab= dt << Tabulate(
Add Table(
Column Table(
Grouping Columns( :test_type_combo ),
Analysis Columns(
:Name( "Sum(n_unit)" ),
:Name( "Sum(n_unit_passed)" )
)
),
Row Table(
Grouping Columns(
:work_week,
:coil_supplier_A,
:product_family
)
)
)
);
dtTab= tab << makeIntoDataTable;
dtTab << new column("Yield",numeric,Formula(
(:Name( "Sum(Sum(n_unit_passed), PrePass)" ) /
:Name( "Sum(Sum(n_unit), PrePass)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test1)" ) /
:Name( "Sum(Sum(n_unit), Test1)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test4)" ) / :Name( "Sum(Sum(n_unit), Test4)" )
) * (:Name( "Sum(Sum(n_unit_passed), Test2)" ) /
:Name( "Sum(Sum(n_unit), Test2)" )) * (:Name(
"Sum(Sum(n_unit_passed), Test3)"
) / :Name( "Sum(Sum(n_unit), Test3)" )) * 100
)
);
dtTab << Graph Builder(
Variables(
X( :work_week ),
Y( :PFY ),
Y( :Name( "Sum(Sum(n_unit), Test1)" ) ),
Group X( :product_family ),
Overlay( :coil_supplier_A )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 6 ) ),
Line( X, Y, Legend( 7 ) )
),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 6, Base( 0, 0, 0 ), Base( 1, 0, 0 ), Base( 2, 0, 0 ) )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "coil_supplier_A" )}
),
Dispatch( {}, "Y 1 title", TextEditBox, {Set Text( "unit Qty" )} ),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {6, [0, 1, 2], 7, [6, 7, 8], 4, [3, 4, 5]} ),
Position( {0, 1, 2, 6, 7, 8, 3, 4, 5} )}
)
)
);
回复:多參數選擇拜倫,那也行。 謝謝!回复:多參數選擇而不是製作中間表......
也許這樣的事情會奏效?
嘗試堆疊線圈供應商列(並且僅堆疊線圈供應商列)
這將導致所有線圈供應商列減少到兩個列。 一個有線圈供應商,另一個有批號。 Lot ID 仍然進入圖形構建器覆蓋角色,但供應商 ID 進入頁面角色(圖形構建器的右下角(jmp 13 選項))。
此外,由於所有數據都是堆疊的,公式變得簡單,因為它只對計數和傳遞列進行操作。
回复:多參數選擇非常感謝,吉姆!
回复:多參數選擇這是生成所有線圈供應商輸出的一種方法,使用帶有 For 循環的替換
Names Default To Here( 1 );
dt = Current Data Table();
VarList = {"coil_supplier_A", "coil_supplier_B", "coil_supplier_C", "coil_supplier_D"};
For( i = 1, i <= N Items( VarList ), i++,
Eval(
Substitute(
Expr(
tab = dt << Tabulate(
Add Table(
Column Table(
Grouping Columns( :test_type_combo ),
Analysis Columns( :Name( "Sum(n_unit)" ), :Name( "Sum(n_unit_passed)" ) )
),
Row Table( Grouping Columns( :work_week, __supplier__, :product_family ) )
)
);
dtTab = tab << makeIntoDataTable;
dtTab << New Column( "Yield",
numeric,
Formula(
(:Name( "Sum(Sum(n_unit_passed), PrePass)" ) / :Name( "Sum(Sum(n_unit), PrePass)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test1)" ) / :Name( "Sum(Sum(n_unit), Test1)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test4)" ) / :Name( "Sum(Sum(n_unit), Test4)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test2)" ) / :Name( "Sum(Sum(n_unit), Test2)" )) * (
:Name( "Sum(Sum(n_unit_passed), Test3)" ) / :Name( "Sum(Sum(n_unit), Test3)" )) * 100
)
);
dtTab << Graph Builder(
Variables(
X( :work_week ),
Y( :Yield ),
Y( :Name( "Sum(Sum(n_unit), Test1)" ) ),
Group X( :product_family ),
Overlay( __supplier__ )
),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 6 ) ), Line( X, Y, Legend( 7 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox, {Legend Model( 6, Base( 0, 0, 0 ), Base( 1, 0, 0 ), Base( 2, 0, 0 ) )} ),
Dispatch( {}, "graph title", TextEditBox, {Set Text( __qsupplier__ )} ),
Dispatch( {}, "Y 1 title", TextEditBox, {Set Text( "unit Qty" )} ),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {6, [0, 1, 2], 7, [6, 7, 8], 4, [3, 4, 5]} ), Position( {0, 1, 2, 6, 7, 8, 3, 4, 5} )}
)
)
);
),
Expr( __supplier__ ), Parse( ":" || VarList[i] ),
Expr( __qsupplier__ ), VarList[i]
)
)
);回复:多參數選擇嗨卡梅倫,
為了更好地理解,我附上了數據集。
dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Current Data Table</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
tab<SPAN class="token operator">=</SPAN> dt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> Tabulate<SPAN class="token punctuation">(</SPAN>
<SPAN class="token function">Add</SPAN> Table<SPAN class="token punctuation">(</SPAN>
<SPAN class="token function">Column</SPAN> Table<SPAN class="token punctuation">(</SPAN>
Grouping Columns<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>test_type_combo <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Analysis Columns<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(n_unit)"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(n_unit_passed)"</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Row</SPAN> Table<SPAN class="token punctuation">(</SPAN>
Grouping Columns<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">:</SPAN>work_week<SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">:</SPAN>coil_supplier_A<SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">:</SPAN>product_family
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
dtTab<SPAN class="token operator">=</SPAN> tab <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> makeIntoDataTable<SPAN class="token punctuation">;</SPAN>
dtTab <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> <SPAN class="token function">new column</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"Yield"</SPAN><SPAN class="token punctuation">,</SPAN>numeric<SPAN class="token punctuation">,</SPAN>Formula<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit_passed), PrePass)"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">/</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), PrePass)"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">*</SPAN> <SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit_passed), Test1)"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">/</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), Test1)"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">*</SPAN> <SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit_passed), Test4)"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">/</SPAN> <SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), Test4)"</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">*</SPAN> <SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit_passed), Test2)"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">/</SPAN>
<SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), Test2)"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">*</SPAN> <SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN>
<SPAN class="token string">"Sum(Sum(n_unit_passed), Test3)"</SPAN>
<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">/</SPAN> <SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), Test3)"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">*</SPAN> <SPAN class="token number">100</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
dtTab <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> Graph Builder<SPAN class="token punctuation">(</SPAN>
Variables<SPAN class="token punctuation">(</SPAN>
X<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>work_week <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Y<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Yield <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Y<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Name<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Sum(Sum(n_unit), Test1)"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Group X<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>product_family <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Overlay<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>coil_supplier_A <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Elements<SPAN class="token punctuation">(</SPAN>
Position<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">1</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Points<SPAN class="token punctuation">(</SPAN> X<SPAN class="token punctuation">,</SPAN> Y<SPAN class="token punctuation">,</SPAN> Legend<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">6</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Line</SPAN><SPAN class="token punctuation">(</SPAN> X<SPAN class="token punctuation">,</SPAN> Y<SPAN class="token punctuation">,</SPAN> Legend<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">7</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Elements<SPAN class="token punctuation">(</SPAN> Position<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> Bar<SPAN class="token punctuation">(</SPAN> X<SPAN class="token punctuation">,</SPAN> Y<SPAN class="token punctuation">,</SPAN> Legend<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">4</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
SendToReport<SPAN class="token punctuation">(</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token string">"400"</SPAN><SPAN class="token punctuation">,</SPAN>
ScaleBox<SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">{</SPAN>Legend Model<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">6</SPAN><SPAN class="token punctuation">,</SPAN> Base<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> Base<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> Base<SPAN class="token punctuation">(</SPAN> <SPAN class="token number">2</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token string">"graph title"</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">TextEditBox</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">{</SPAN>Set <SPAN class="token function">Text</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"coil_supplier_A"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Y 1 title"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token function">TextEditBox</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">{</SPAN>Set <SPAN class="token function">Text</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"unit Qty"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Dispatch<SPAN class="token punctuation">(</SPAN>
<SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token string">"400"</SPAN><SPAN class="token punctuation">,</SPAN>
LegendBox<SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">{</SPAN>Legend Position<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token number">6</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">[</SPAN><SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">7</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">[</SPAN><SPAN class="token number">6</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">7</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">8</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">[</SPAN><SPAN class="token number">3</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">5</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">}</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
Position<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">6</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">7</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">8</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">3</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">5</SPAN><SPAN class="token punctuation">}</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">}</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
謝謝。
亞當
回复:多參數選擇你好@亞當,
為了更好地理解您所描述的內容,查看示例數據集會很有幫助。如果存在 IP 問題,也許您可以使用匿名化功能或使用可與您的腳本一起使用的虛擬數據創建示例數據集。