Selección de múltiples parámetrosHola,
Tengo el siguiente script que tabulará test_type_combo por algunas pruebas (Test1, Test2, Test3, Test4, Prepass), cada uno con la suma n_unit y n_unit_passed para un parámetro llamado coil_supplier_A. Luego creará una nueva columna, Rendimiento. A partir de aquí, tendré un generador de gráficos para hacer el trazado. ¿Puedo saber si tengo varios parámetros para proveedores, cada uno en una columna, por ejemplo? coil_supplier_B, coil_supplier_C y coil_supplier_D, ¿cómo puedo poner a todos los proveedores en el guión y trazar automáticamente todos (en este caso habrá un total de 4 parcelas)? O tal vez si hay otra forma mejor de hacerlo.
Muchas gracias.
Guión:
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} )}
)
)
);
Re: selección de múltiples parámetrosByron, eso también lo hará. ¡Gracias!Re: selección de múltiples parámetrosEn lugar de hacer la tabla intermedia ...
Tal vez algo como esto podría funcionar?
Intente apilar las columnas del proveedor de la bobina (y solo las columnas del proveedor de la bobina)
Esto hará que todas las columnas del proveedor de bobinas se reduzcan a dos columnas. Uno tiene el proveedor de la bobina, el otro tiene las ID de lote. El ID de lote sigue ingresando en el rol de superposición del generador de gráficos, pero el ID del proveedor entra en el rol de página (esquina inferior derecha del generador de gráficos (opción jmp 13)).
Además, dado que todos los datos están apilados, la fórmula se vuelve fácil, ya que funciona solo en los campos de conteo y pase.
Re: selección de múltiples parámetrosMuchas gracias, Jim !!
Re: selección de múltiples parámetrosAquí hay una forma de generar toda la salida del proveedor de la bobina, usando la sustitución con un bucle 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]
)
)
);Re: selección de múltiples parámetrosHola cameron
Adjunto el conjunto de datos para una mejor comprensión.
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>
Gracias.
Adán
Re: selección de múltiples parámetrosHola @Adán ,
Sería útil ver un conjunto de datos de muestra para comprender mejor lo que está describiendo. Si hay un problema de IP, quizás pueda usar la función de anonimato o crear un conjunto de datos de ejemplo con datos ficticios que funcionen con su script.