Etichetta grafico IR e LCLHo il seguente script che funziona bene, crea più grafici IR basati su valori in un elenco generato dai valori univoci di un datatable. Vorrei etichettare ciascun grafico come il valore nell'elenco da cui è stato generato. Vorrei anche impostare tutti i miei limiti di controllo inferiori su 0. Non riesco a vedere come farlo.
riepilogare (SNTime2, UnitNames = by (Column ("Sub_name")));
count_UnitNames = nitems (UnitNames);
Nuova finestra ("Riepilogo tempi di esecuzione M11 - Grafico di controllo",
V List Box (
per (i = 1, i <= count_UnitNames, i ++,
Tabella di controllo (
Etichetta campione (: data),
Dimensione del gruppo (1),
KSigma (3),
Grafico Col (: Nome ("Mean (Runtime)"), misurazione individuale),
Where (: Sub_name == UnitNames [i]),
SendToReport (
Spedizione(
{"Misura individuale di media (tempo di esecuzione)"},
"2",
scalebox,
{Format ("hr: m: s", 11, 0)}
)));
);
));
Grazie
Re: etichetta Chart IR e LCLTi mostrerò i cambiamenti necessari per fare ciò che vuoi, tuttavia lo farò mostrandoti che potresti capire tutto da solo, perché JMP ti mostrerà come farlo.
La tua richiesta è quella di cambiare il nome del riquadro struttura che viene creato che ripete il titolo, "Misura individuale della media (runtime)". Quindi, il primo passo è semplicemente cambiare quel titolo in uno degli output.

Quindi vai al triangolo rosso e salva lo script per il grafico modificato
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(RunTime)" ), Individual Measurement( LCL( 0 ) ) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( "This is the title I want to have" )}
),
Dispatch(
{"Individual Measurement of Mean(RunTime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 13, 0 )}
),
Dispatch(
{"Individual Measurement of Mean(RunTime)"},
"Control Chart Limits frame",
FrameBox,
{Frame Size( 64, 208 )}
)
)
);
Si noti come JMP ha indicato come modificare il grafico per rendere il titolo della casella di contorno un nome diverso
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( "This is the title I want to have" )}
)
Ora tutto ciò che devi fare è reinserire nuovamente questo cambiamento nel tuo script e sostituire il titolo per il NomeUnità [i], che è la tua lista di voci per il tuo Sub_name richiesto
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement( LCL( 0 ) ) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( UnitNames[i] )}
),
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);
Re: etichetta Chart IR e LCLGrazie che lavori per i limiti.
Come cambio il nome dei grafici IR. Produco da 16 a 20 grafici in una finestra verticale. Quando lo creo dai dati della tabella, vengono tutti etichettati con il valore della colonna Nome_cartella, ma quando li creo dallo script vengono etichettati con "Tabella di controllo" e "Misura individuale di media (runtime)". Vorrei che ogni grafico fosse etichettato con il valore in UnitNames [i].
Grazie ancora.
Re: etichetta Chart IR e LCLGli approcci che ho preso per risolvere questo problema consistevano nell'utilizzare una tabella dei limiti salvati, in cui è specificato solo un limite inferiore con il valore di "0" e anche un esempio di specifica del LCL nelle specifiche del grafico IM.
Names Default To Here( 1 );
// Setup some sample data
SNTime2 = Open( "$SAMPLE_DATA/Quality Control/Phase Historical Data.jmp" );
SNTime2:Force << set name("Mean(RunTime)");
SNTime2:Site << set name("Sub_name") << data type( character );
SNTime2 << New Column("Date",format("m/d/y"),formula(today()));
// create a limits table with just a lower limit of zero and save it
dtlim = New Table( "Limits",
Add Rows( 1 ),
New Column("_LimitsKey",
Character( 4 ),
"Nominal",
Set Values( {"_LCL"} )
),
New Column("Mean(Runtime)",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values( [0] ),
Set Display Width
)
);
close( dtlim, save("$TEMP\limits.jmp"));
// Run your code
Summarize( SNTime2, UnitNames = by( Column( "Sub_name" ) ) );
count_UnitNames = N Items( UnitNames );
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement ),
// Read in limits
Get Limits( "$TEMP\limits.jmp" ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);
La documentazione sull'utilizzo della tabella dei limiti è disponibile nel manuale Metodi di qualità e processo
Aiuto ==> Libri ==> Qualità e processo
e nello Scripting Index
Aiuto ==> Scripting Index ==> Grafico di controllo
Puoi anche utilizzare la specifica LCL sulla carta IM per ottenere gli stessi risultati
// You can also just use the LCL paramater on the IM specification
Summarize( SNTime2, UnitNames = by( Column( "Sub_name" ) ) );
count_UnitNames = N Items( UnitNames );
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement( LCL(0)) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);