L'espressione elenco valuta solo il primo valoreSto cercando di riparare come script reso non funzionale dal lancio di JMP15.
Ho una variabile di elenco che contiene i numeri di colonna di interesse.
ListofColumns= List(8,12,7,14);
Sto cercando di generare una serie di grafici di controllo, in una singola finestra, di ciascuna delle colonne nell'elenco:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(eval(ListofColumns)))
);
Quando eseguo questo codice, genera la tabella di controllo corretta per la colonna 8, ma nessuna delle altre.
D'altra parte, se inserisco manualmente l'elenco, tutti e quattro i grafici di controllo vengono generati correttamente:
Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y(8,12,7,14))
);
Sono sicuro che questo funzionava con il codice prima del generatore di grafici di controllo. E sono anche sicuro che mi manca qualcosa di semplice. Apprezzo qualsiasi aiuto!
ScriptingRi: L'espressione dell'elenco valuta solo il primo valoreHo testato il tuo codice su JMP 11 e ho scoperto che il codice funzionava allo stesso modo. Di seguito è quello che considero un brutto lavoro in giro, e spero che qualcuno abbia una soluzione migliore
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/blood pressure.jmp" );
ListofColumns = List( 8, 4, 7, 5 );
Eval(
Parse(
"Win4=Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables(Y( "
|| Substr(
Char( listofcolumns ),
2,
Length( Char( listofcolumns ) ) - 2
) || " )
));"
)
);
Ri: L'espressione dell'elenco valuta solo il primo valoreGrazie per il consiglio. Ma ho finito per adottare un approccio diverso, analizzando ogni valore nell'elenco:
For( j = 1, j <= N Items(ListofColumns), j++, //step through the row numbers of interest
WinHandle3 << append (Control Chart( //append the control chart to existing window
Sample Label( :Lot_Number ), // using legacy Control Chart platform allows sample label use
Group Size( 1 ),
KSigma( 3 ),
Chart Col(
ListofColumns[j],
Individual Measurement,
Moving Range
)));
); // close the for loop.
Ho appena aggiunto ogni grafico a una finestra esistente. Ho anche cambiato utilizzando la piattaforma legenda del controllo legacy anziché il builder (migliorato?) Del diagramma di controllo, perché volevo specificare l'etichetta del campione anziché un numero sequenziale insignificante sull'asse X. La sceneggiatura sopra sembra funzionare.