Suggerimenti per migliorare la visualizzazione delle carte di controlloCiao,
Ho creato diversi grafici di controllo da una tabella dati JMP e ho salvato tutto come report, vorrei fare quanto segue:
- come posso modificare lo script per ottenere tracciati solo gli ultimi 30 punti dati dalla tabella dati?
- come posso modificare lo script per impostare la dimensione corretta del grafico? In questo momento ogni volta che lo apro il grafico viene compresso sul lato sinistro
Grazie per il vostro sostegno!
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloSarà necessario aggiungere codice per Nascondi ed Escludi il primo punto dati sul grafico....Se riesegui lo script che esegue Nascondi ed Escludi, utilizzerà il nuovo calcolo dt << N Rows() in base all'aumento numero di righe.Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloGrazie mille, ora lo script funziona come previsto in termini di impostazioni degli assi.
Penso che l'ultimo passaggio di cui ho bisogno sia il seguente:
normalmente abbiamo il datatable incorporato in un report JMP, quindi aggiungendo una nuova riga di dati sui dati il grafico viene aggiornato automaticamente con il nuovo valore, ho notato che gli "ultimi 30 punti dati" non vengono visualizzati nel modo in cui 1 nuovo valore, 1 vecchio valore in meno ma di giorno in giorno il numero di punti tracciati aumenta di 1.
C'è qualcosa che posso fare?
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloOps....un paio di errori.
È necessario che ci sia un ";" dopo il dt << Selezionare Cancella;
Il grafico che stai utilizzando deve avere come riferimento AxisBox(2), non AxisBox(1);
dt = current data table();
// Hide and Exclude all rows except the last 30
dt << select where(Row() < N Rows( dt ) - 29 );
dt << Hide and Exclude;
// Unselect the rows
dt << clear select;
cc = Control Chart(
Sample Label( :Data ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Si STD 3 ppb, Individual Measurement( Avg( 3 ), LCL( 2.25 ), UCL( 3.75 ) ) ),
SendToReport(
Dispatch(
{"Individual Measurement of Si STD 3 ppb"},
"IR Chart of IM",
FrameBox,
{Frame Size( 1301, 208 )}
)
)
);
// Set the axis parameters
report(cc)[AxisBox(2)]<<MIN></MIN>Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloQuindi lo script che sto utilizzando è il seguente:
dt = current data table();
// Hide and Exclude all rows except the last 30
dt << select where(Row() < N Rows( dt ) - 29 );
dt << Hide and Exclude;
// Unselect the rows
dt << clear select
cc = Control Chart(
Sample Label( :Data ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Si STD 3 ppb, Individual Measurement( Avg( 3 ), LCL( 2.25 ), UCL( 3.75 ) ) ),
SendToReport(
Dispatch(
{"Individual Measurement of Si STD 3 ppb"},
"IR Chart of IM",
FrameBox,
{Frame Size( 1301, 208 )}
)
)
);
// Set the axis parameters
report(cc)[AxisBox(1)]<<MIN></MIN>Per quanto riguarda il primo punto dell'elenco, sbraito su quel codice e sto ricevendo questo

Per i punti 2 e 3, come posso verificarlo?
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloLa linea
report(cc)[AxisBox(1)]<<MIN></MIN>
apparentemente non trova AxisBox() che deve cambiare.
- L'esempio che ho incluso nel mio messaggio del 13 dicembre alle 3:23 (ora esatta) ha funzionato correttamente?
- La variabile "dt" è stata assegnata per puntare alla tabella dei dati di destinazione?
- Il "cc" punta alla piattaforma delle carte di controllo
cc = Control Chart(
Sarebbe utile poter vedere il codice effettivo che stai utilizzando.Potresti per favore fornire quel codice?
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloCiao,
lo script funziona correttamente per selezionare gli ultimi 30 punti dati, ma penso di riscontrare un problema nell'impostazione del minimo e del massimo sull'asse X come nello screenshot seguente:

Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloProva questo
dt = current data table();
// Hide and Exclude all rows except the last 30
dt << select where(Row() < N Rows( dt ) - 29 );
dt << Hide and Exclude;
// Unselect the rows
dt << clear select
cc = Control Chart(
Sample Label( :Data ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Si STD 3 ppb, Individual Measurement( Avg( 3 ), LCL( 2.25 ), UCL( 3.75 ) ) ),
SendToReport(
Dispatch(
{"Individual Measurement of Si STD 3 ppb"},
"IR Chart of IM",
FrameBox,
{Frame Size( 1301, 208 )}
)
)
);
// Set the axis parameters
report(cc)[AxisBox(1)]<<MIN></MIN>
Per darti il miglior vantaggio nel mondo dello scripting in JMP, ti consiglio vivamente di leggere la Guida allo scripting.
Aiuto==>Libri==>Guida allo scripting
e se non sei esperto di programmazione informatica in generale, ti suggerisco di cercare sul web e cercare "introduzione online gratuita alla programmazione".
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloCiao,
quindi ho provato a seguire il tuo suggerimento, qui sotto lo script che ottengo dopo aver creato un grafico di controllo individuale da una tabella dati:
Control Chart(
Sample Label( :Data ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Si STD 3 ppb, Individual Measurement( Avg( 3 ), LCL( 2.25 ), UCL( 3.75 ) ) ),
SendToReport( Dispatch( {"Individual Measurement of Si STD 3 ppb"}, "IR Chart of IM", FrameBox, {Frame Size( 1301, 208 )} ) )
);
Dove devo incollare il codice?
Scusa ma sono davvero un principiante con gli script.
Grazie.
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloLa prima opzione che ho suggerito non richiede sottoinsiemi!Vedi lo script qui sotto
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
// Hide and Exclude all rows except the last 30
dt << select where(Row() < N Rows( dt ) - 29 );
dt << Hide and Exclude;
// Unselect the rows
dt << clear select
// Run the control chart
cc = Control Chart Builder(
Variables( Y( :NPN1 ) ),
Chart( Position( 1 ), Limits( Sigma( "Moving Range" ) ) ),
Chart( Position( 2 ), Limits( Sigma( "Moving Range" ) ) )
);
// Set the axis parameters
report(cc)[AxisBox(1)]<<MIN></MIN>Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloCiao TXnelson,
grazie per i tuoi suggerimenti, sfortunatamente quello che vorrei fare è codificare nello script qualcosa per prelevare automaticamente dalla tabella dati solo gli ultimi 30 punti dati senza creare un sottoinsieme della tabella dati corrente.
Grazie.
Re: Suggerimenti per migliorare la visualizzazione delle carte di controlloCi sono un paio di modi per farlo.
- Seleziona tutte le righe dove Row() < N Rows(dt)-30 e poi Nascondile ed Escludile
- Crea un sottoinsieme dell'ultimo selezionando tutte le righe dove Row() >= N Rows(dt)-30 e quindi utilizza Tables==>Subset per creare una nuova tabella di dati ed esegui il Chart Builder sulla nuova tabella di dati
A meno che non sia stata modificata manualmente la dimensione del grafico nello script, JMP utilizzerà le dimensioni predefinite del grafico dalle preferenze.Il mio suggerimento è di eseguire il grafico in modo interattivo.Quindi modifica manualmente la dimensione del grafico in base alla dimensione desiderata, quindi vai al triangolo rosso e seleziona "Salva script".Avrà il codice dello script incorporato nello script che produce, per modificare la dimensione del grafico quando lo esegui.