Ciao,
Voglio utilizzare i valori di un datatable come linee di riferimento su un grafico di variabilità basato su un datatable separato. Il mio codice attuale è sotto, si spera che abbia senso come condiviso. Sto usando JMP 15.2
Il mio problema è che quando eseguo tutto questo in una volta, non ottengo alcuna linea di riferimento sulla mia trama.
Tuttavia, se eseguo prima solo la sezione prima di "//SPLIT POINT" e quindi eseguo separatamente la sezione dopo "//SPLINT POINT", funziona senza problemi (le linee di riferimento sono visibili sul mio grafico).
Un ultimo punto è che se lo uso
Destinazione = dt1_spec_limits::Nome( "data_column_A" )[1]
invece di
Destinazione = dt1_spec_limits:Nome("Graph_Target_line")[1]
la linea di riferimento viene visualizzata sulla trama, anche quando l'intero script viene eseguito come uno. Quindi penso che abbia qualcosa a che fare con i calcoli che si aggiornano nel datatable?
Eventuali approfondimenti sarebbero molto apprezzati, grazie.
//unisciti a due datatable per creare una tabella dei limiti delle specifiche
dt1_spec_limits = dt1_mean_join <<
Giuntura(
Con(dt1_std_join),
Abbinando le colonne ( :Join = :Join ),
Rilascia multipli( 0, 0 ),
Includi non corrispondenze( 0, 0 ),
Conserva l'ordine del tavolo principale( 1 )
)
;
//calcola i valori Target, USL e LSL
Nuova colonna ("Graph_Target_line",
Numerico,
"Continuo",
Formato( "Migliore", 6 ),
Formula( :Nome( "data_colonna_A" ) )
)
;
Nuova colonna( "Graph_USL",
Numerico,
"Continuo",
Formato( "Migliore", 6 ),
Formula(
:Nome("colonna_dati_A") + 3.15 *
:Nome("colonna_dati_B" )
)
)
;
Nuova colonna( "Graph_LSL",
Numerico,
"Continuo",
Formato( "Migliore", 6 ),
Formula(
:Nome("colonna_dati_A" ) - 3.15 *
:Nome("colonna_dati_B" )
)
)
;
//PUNTO DIVISO
//assegna le variabili da utilizzare nel grafico delle variabili
USL = dt1_spec_limits :Nome("Graph_USL")[1]
;
LSL = dt1_spec_limits:Nome("Graph_LSL")[1]
;
Destinazione = dt1_spec_limits:Nome("Graph_Target_line")[1]
;
//Traccia in base ai dati di una tabella con le righe di riferimento basate su sopra
Tabella dati corrente(dt1_plotting_data)
;
Grafico di variabilità(
Y( :Nome( "colonna_1" ) ),
X( :Attrezzatura, :Data, :Ora ),
Tipo di analisi ("Scegli la migliore analisi (EMS REML bayesiano)" ),
Grafico sviluppo standard( 0 ),
SendToReport(
Spedizione(
{"Grafico della variabilità per la colonna_1"},
"2",
ScaleBox,
{
Aggiungi Ref Line( 0, "Punteggiato", "Grigio chiaro medio", "", 1 ),
Aggiungi Ref Line(Target, "Solido", "Verde medio scuro", "Target", 1),
Aggiungi Ref Line (USL, "Solid", "Medium Dark Red", "USL", 1 ),
Aggiungi Ref Line(LSL, "Solid", "Medium Dark Red", "LSL", 1 )}
),
Spedizione(
{"Grafico della variabilità per la colonna_1"},
"Grafico di variabilità",
Cornice,
{Legenda riga(
Strumento_MM,
Colore( 1 ),
Tema colore ("Predefinito JMP"),
Indicatore( 0 ),
Tema dell'indicatore( "" ),
Scala continua( 0 ),
Scala inversa( 0 ),
Righe escluse( 0 )
)}
)
)
)
Sospetto che la tua tabella di dati dt1_spec_limits non sia stata completata prima dell'esecuzione del grafico di variabilità.Prova ad aggiungere
Wait( 0 );
appena prima del // PUNTO DI SPLIT.