Estrazione dei parametri selezionati dall'utente per X e Y quando si tracciano grafici di variabilità<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Essere veramente nuovo nello scripting in jmp. Ho una domanda al riguardo, ecco una sceneggiatura che ho scritto. Quello che intendo fare è che ho due tabelle, la Tabella uno contiene i limiti di ogni test, ad esempio, (tieni presente che la tabella attuale ha qualche migliaio di test, questo è solo un esempio)
Tabella 1
| Test | Limite inferiore | Limite superiore |
|---|
| test 1 | 3 | 10 |
| test 2 | 3.4 | 12 |
| test 3 | 5 | 12 |
E l'altra tabella (Poche migliaia di colonne lunghe) contiene i risultati del test
Tavolo 2
| Test 1 | Test 2 | Test 3 |
|---|
| 5 | 6 | 8 |
| 5 | 6.1 | 8.11 |
| 5.2 | 6.23 | 8.12 |
E quello che intendo fare è tracciare una tabella di variabilità per la seconda tabella per alcuni test selezionati (4 o 5), e vorrei che il grafico della variabilità eseguisse automaticamente linee di riferimento basate sui limiti della prima tabella - la parte superiore e quella inferiore limite. Ora sono bloccato in questa situazione in cui non so come completare il mio script. Attualmente sembra così, posso ottenere la linea di riferimento da tracciare a un punto fisso, diciamo "1". Ma quello che voglio essere in grado di fare è estrarre qualsiasi test che l'utente decida di tracciare, ed estrarre i limiti dalla prima tabella di dati, e tracciare i limiti come una linea di riferimento.
C'è un modo per estrarre i parametri selezionati dall'utente (X e Y) del grafico di variabilità, e usare quella ricerca dei suoi limiti per tracciare la linea di riferimento? A partire da ora, il mio codice sembra così
dt_data1 = Tabella dati (1); // la tabella dei limiti
dt_data2 = Tabella dati (2); // la tabella dei dati effettiva
// Inizio della finestra della GUI
// ------------------------------------------------ --------------------------------------------------
ColSel = Filtro Col Selector (tabella dati (dt_data1), 250, 10, ColumnToPlot = ColSel << Get Selected);
ColSel << Imposta Max Selected (2); // La colonna selezionata massima consentita è 1
win = New Window ("Test",
<< modal,
Casella di testo ("Colonne per tracciare un grafico di variabilità"),
ColSel,
go = Button Box ("OK",
ColumnToPlot = ColSel << Get Selected
);
);
// ------------------------------------------------ -----------------------------------------------
// Fine della finestra della GUI
Aspetta (1);
Tabella dati corrente (dt_data2);
Colnames = dt_data2 << Ottieni i nomi delle colonne (numerico, stringa);
LowerLimit = colnames [2];
UpperLimit = colnames [3];
Tabella dati corrente (dt_data1);
Grafico di variabilità (
Max Iter (100),
Conv Limit (0,00000001),
Numero integrazione Abscisse (128),
Numero Funzione Evals (65536),
Tipo di analisi ("Scegli l'analisi migliore (EMS REML Bayesian)"),
Punti nervosi (1),
Mostra grafici a caselle (1),
Std Dev Chart (0),
Mostra barre di portata (1),
SendToReport (
Spedizione(
"",
"2",
scalebox,
{Aggiungi linea di riferimento (0, "Solido", "Nero", "", 1),
Aggiungi linea di riferimento (1, "Solido", "Blu", "", 2); } // Sostituisce 1 in base al valore importato
)
)
);
Ri: Estrarre i parametri selezionati dall'utente per X e Y quando si tracciano grafici di variabilitàGrazie per aver sottolineato che posso utilizzare le proprietà della colonna per impostare i limiti in questo modo!
Ri: Estrarre i parametri selezionati dall'utente per X e Y quando si tracciano grafici di variabilitàSe si spostano i limiti nella proprietà della colonna dei limiti delle specifiche per ciascuna colonna nella tabella dei dati di misurazione, dalla tabella dei dati dei limiti, la piattaforma del grafico della variabilità visualizzerà automaticamente i limiti.
Ecco uno script che ho scritto di recente per rispondere a una domanda postata su "Importare i limiti di controllo". questo script legge da una tabella di dati limite e lo sposta in una tabella di dati di misura.
// Prima di eseguire questo script, apri la misura e limita le tabelle di dati.
// Se si stanno utilizzando i due file allegati alla risposta, dtmeas = e
// dtlim = le istruzioni seguenti stanno puntando alla tabella dati corretta. Ma se
// si utilizzano tabelle di dati diverse, è necessario modificare i nomi della tabella dati
Nomi predefiniti qui ( 1 ) ;
dtmeas = Tabella dati ( "Tabella delle misure" ) ;
dtlim = Tabella dati ( "Tabella dei limiti" ) ;
// Dividi la tabella dei dati in base al codice di classificazione, in modo che ogni gruppo sia diverso
// colonna
dtsplitmeas = dtmeas << Diviso ( Dividi da ( : GRDBWT ) , Diviso ( : Peso base ACC ) ) ;
// Ottieni i nomi delle colonne dalla tabella dei dati suddivisi, che sono davvero diversi
// Codici di qualità
Cols = dtsplitmeas << ottieni i nomi delle colonne ( stringa ) ;
// Passa attraverso la tabella dei dati split e leggi i valori per quella colonna da
// tabella dati dtlim. Compila i limiti delle specifiche e i limiti di controllo
Per ( io = 1 , io <= N Cols ( dtsplitmeas ) , io ++,
limrow = Provare ( ( dtlim << ottenere righe dove ( dtlim : Gradecode == Cols [ io ] )) [ 1 ] , . ) ;
Se ( Manca ( limRow ) == 0 ,
Specifiche = { LSL ( . ) , USL ( . ) , Bersaglio ( . ) , Mostra limiti ( 1 )} ;
Specifiche [ "LSL" ] = dtlim : BASSO [ limrow ] ;
Specifiche [ "Bersaglio" ] = dtlim : TARG [ limrow ] ;
Specifiche [ "USL" ] = dtlim : ALTA [ limrow ] ;
Colonna ( dtsplitmeas , carbonizzare ( Cols [ io ] ) ) << imposta proprietà ( "limiti di specifica" , Eval ( Specifiche ) ) ;
controllimits = { XBar ( Avg ( un ) , LCL ( B ) , UCL ( c ) )} ;
Sostituire in ( controllimits , expr ( un ) , dtlim : LWarn [ limrow ] ) ;
Sostituire in ( controllimits , expr ( c ) , dtlim : uwarn [ limrow ] ) ;
Sostituire in ( controllimits , expr ( B ) , dtlim : Targ [ limrow ] ) ;
Colonna ( dtsplitmeas , carbonizzare ( Cols [ io ] ) ) << imposta proprietà ( "limiti di controllo" , Eval ( controllimits ) ) ;
) ;
) ;