Importazione dei limiti delle specificheQuindi ho uno script che esegue Process Capability su una tabella di dati. Sono in grado di eseguirlo automaticamente utilizzando questa soluzione, https://community.jmp.com/t5/Discussions/JSL-automate-the-columns-used-in-Process-Capability/mp/39855 . Ora sto provando a importare automaticamente anche la scheda tecnica. In questo momento gli utenti hanno automaticamente 2 fogli. 1 con i dati e 1 con le informazioni sulle specifiche. Posso creare una soluzione che prenda le informazioni della scheda tecnica e le copi nelle proprietà della colonna, ma preferirei che venga eseguita nel codice nel caso in cui gli utenti desiderino utilizzare la scheda tecnica con un altro file delle specifiche.
il mio codice finora...
aaa = Eval( Parse("summ_table << Capacità del processo(
Variabili di processo( " || TheVars || "), <
Limiti delle specifiche(Importa limiti delle specifiche(\!"" || Specifiche ||"\!")) <
);"
)
);
spec contiene il nome delle tabelle delle specifiche aperte. posso facilmente ottenerlo in questi 2 formati.
"specTable1.jmp"
"DataTable("specTable1.jmp")"
ho preso il codice dei limiti delle specifiche da questo blog -- https://community.jmp.com/t5/JMPer-Cable/3-ways-to-load-your-specification-limits-into-Process-Capability/ba-p/34189
Ri: Importazione dei limiti delle specificheScrivi i limiti in una tabella dati da una tabella dei limiti il componente aggiuntivo è un'opzione
Ri: Importazione dei limiti delle specificheGrazie, jthi.Funziona bene con lo script modificato~
Esiste uno script per caricare il file dei limiti e salvare direttamente tutti i limiti nelle proprietà della colonna?
Ri: Importazione dei limiti delle specificheQuesto è uno script (e un post) abbastanza vecchio e, a seconda di ciò che stai cercando di fare, alla fine definisce come modificarlo (o forse dovresti utilizzare completamente un altro script o eventualmente il componente aggiuntivo fornito).
Con il componente aggiuntivo dovrai modificare il tipo di modellazione delle colonne variabili da Testo non strutturato a Nominale


Di seguito è riportata una modifica abbastanza rapida che dovrebbe funzionare se si dispone di JMP16+ per lo script (modifiche apportate alle righe 24 e 26):
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":\!"" || thelist[1] ||"\!"n";
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ", :\!"" || thelist[i] ||"\!"n";
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);Ri: Importazione dei limiti delle specificheCiao Txnelson,
Provo a utilizzare il tuo script per eseguire l'importazione del mio file con limiti, ma si verifica un errore. (allega il mio file con le specifiche dei limiti)
sembra un problema con il nome della variabile o il carattere "/" lungo, potresti aiutarmi? Grazie.

Saluti, Chily
Ri: Importazione dei limiti delle specificheQuindi, questo è letteralmente copiato e incollato dallo Scripting Index. IMHO è il modo più semplice per caricare le specifiche da una tabella e salvarle nelle proprietà della colonna di un'altra tabella.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Capability(Y( :OZONE, :CO, :SO2, :NO ), Spec Limits(Import Spec Limits("$SAMPLE_DATA/CitySpecLimits.jmp")));
obj << Save Spec Limits as Column Properties;<STRIKE></STRIKE><BR />
...anche se devo dire che il componente aggiuntivo di Jim Nelson è piuttosto fluido e ha alcune funzionalità generalizzate molto convenienti.
Ri: Importazione dei limiti delle specificheIndipendentemente dal fatto che tu possa aprire o meno le tabelle dei dati di esempio, il codice che ho incluso può essere tagliato e incollato nella tua sessione JMP, con la consapevolezza che funziona. Pertanto, se prendi la tua tabella dati e la tabella dei limiti e il codice non funziona per te, devi cercare i tuoi dati per individuare il problema.
Ri: Importazione dei limiti delle specificheCredo che il problema sia il mio PC. Sembra che il tuo script dovrebbe funzionare e funziona sul tuo PC. ho scaricato le tabelle di esempio ma sul mio computer viene visualizzato un errore/avviso. Sembra che la tua soluzione funzioni, ma sta succedendo qualcos'altro. Penso di dover correggere l'I/O prima di poter implementare la tua soluzione.

Ri: Importazione dei limiti delle specificheJSL è in grado di eseguire quasi tutto ciò che devi fare, quindi in risposta alla tua domanda, sì, puoi selezionare la tabella dei dati, quindi la tabella dei limiti e quindi eseguire la funzionalità del processo. Ecco uno script molto semplice che fa esattamente questo. L'ho testato con la tabella dati e limiti allegata. Il codice sicuramente non è a prova di proiettile. Ma dovrebbe mostrarti come procedere.
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":" || thelist[1];
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ",:" || thelist[i]
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);Ri: Importazione dei limiti delle specificheHo guardato il codice del componente aggiuntivo e mi sembra che faccia qualcosa che ho già fatto. fondamentalmente modifica le colonne di una tabella per avere le caratteristiche dei limiti.
Mi chiedo se sia possibile utilizzare JSL per chiedere sostanzialmente all'utente un foglio con i dati e un foglio con i limiti/specifiche. Dopo che l'utente ha inserito questi 2, lo script verrà eseguito automaticamente ed eseguirà l'analisi delle capacità sul foglio con i dati. quindi in pratica è possibile eseguire una scheda tecnica in un'analisi delle capacità utilizzando JSL. Mi chiedo se questa linea sia possibile come descritto nel 2° post collegato nel post originale.
Spec Limits(Import Spec Limits(\!" specLimits.jmp\!"))
Sembra che non funzioni. Dovrei semplicemente provare a formattarlo in questo modo? e hai una lunga stringa contenente tutte le informazioni su limiti/specifiche?
Spec Limits(
c1( LSL( -1.4 ), Target( . ), USL( . ) ),
c2 2( LSL( -1.4 ), Target( . ), USL( . ) ),
Name( "c3" )(LSL( 12 ), Target( . ), USL( 144 )),
c4( LSL( . ), Target( . ), USL( -18 ) )
),
Ri: Importazione dei limiti delle specificheÈ disponibile un componente aggiuntivo JMP che popolerà i limiti delle specifiche da una tabella dati aggiuntiva che contiene i limiti delle specifiche.
Scrivere limiti in una tabella dati da una tabella dei limiti
Se non fa esattamente quello che vuoi, puoi sempre estrarre JSL e modificarlo per soddisfare le tue esigenze