CIAO. Mi piacerebbe avere la possibilità di impostare l'USL uguale all'LSL. Attualmente sto utilizzando JMP Pro 17.2.0. Se provo a impostare i limiti uguali tra loro nella finestra Proprietà colonna, ricevo un errore "USL deve essere maggiore di LSL e della destinazione". Errore simile se lo provo utilizzando la piattaforma Gestisci limiti.
Si prega di consultare questo thread per la discussione originale:
https://community.jmp.com/t5/Discussions/Setting-Spec-Limits-with-USL-LSL/mp/717822#M89952
Cosa ha ispirato questa richiesta di lista dei desideri?
Se provo a impostare limiti uguali tra loro nella finestra Proprietà colonna o nella piattaforma Gestisci limiti, ricevo un errore. Posso impostare a livello di codice i limiti in modo che siano uguali utilizzando il messaggio << Imposta proprietà, ma non riesco a rileggerli utilizzando Gestisci limiti. Questo script aiuta a illustrare:
Names Default to Here(1);<BR />dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Height << Set Property("Spec Limits", USL(1), LSL(1)); //I can set USL=LSL in a script<BR />//I can confirm they've been set by manually opening the Column Properties window.
//At some later date I need to reopen the table and get the limits to evaluate yield:
msl = dt << Manage Limits(Process Variables(:Height)); //The limits are now missing.
dtlim = msl << Save to Tall Limits Table;
A volte vedo anche una piccola finestra popup che dice qualcosa sull'effetto di "Limiti incoerenti" con tutte le colonne offensive elencate, ma non ho ancora capito come riprodurlo.
Qual è il miglioramento che vorresti vedere?
Vorrei la possibilità di impostare limiti uguali tra loro nelle finestre Proprietà colonna e Gestisci limiti. Voglio continuare a prevenire USL < LSL.
Perché questa idea è importante?
I nostri dati contengono migliaia di colonne. Alcune (ma non tutte) le colonne rappresentano codici (interi), dove solo un valore significa "ok" e tutti gli altri indicano un diverso tipo di errore. Ad esempio, un "1" sta superando, uno "0" = test non eseguito e i valori 2 o superiori indicano qualche altro errore. Desideriamo calcolare i rendimenti e altre analisi su questi dati utilizzando gli script. Ma stiamo riscontrando che queste colonne in cui USL=LSL non vengono controllate perché quando lo script rilegge i limiti utilizzando Gestisci limiti, mancano.
Cose che abbiamo considerato:
1. Impostare i limiti su (x-0.1, x+0.1) invece che su (x,x). Non è possibile farlo perché ciò richiederebbe la modifica di centinaia di limiti moltiplicati per diverse fasi di produzione moltiplicate per diversi programmi e influenzerebbe molte altre organizzazioni della nostra azienda.
2. Imposta solo l'LSL per queste colonne, lasciando mancante l'USL. Quindi, nel nostro script di analisi del rendimento, aggiungi una clausola che controlla il nome della colonna rispetto a un elenco di colonne i cui valori sono "codificati" e, in caso di corrispondenza, controlla semplicemente se il valore corrisponde a LSL invece di controllare se il valore si trova tra LSL- USL. Problematico perché ci richiederebbe di codificare quali colonne devono essere controllate in un modo o nell'altro all'interno dello script, aggiornando costantemente gli script man mano che l'elenco dei nomi cambia durante lo sviluppo. Inoltre, dovrebbero essere mantenuti elenchi separati per ciascuna fase di produzione e ciascun programma, poiché non condividono gli stessi test. Problematico anche perché altri utilizzano script di analisi diversi sui dati, che potrebbero non essere consapevoli se abbiamo eliminato l'USL e mantenuto solo l'LSL.
3. Imposta i limiti a livello di codice come nello script precedente. Quindi, quando desideriamo rileggerli dalla tabella dati in un secondo momento, utilizzare il messaggio << Ottieni proprietà invece di Gestisci limiti. Sto ancora lavorando su una sceneggiatura per provarlo, ma ho già dei dubbi su questo tatto. Innanzitutto, sarebbe necessario un ciclo For per leggere e analizzare le specifiche di ciascuna colonna, il che potrebbe richiedere del tempo per oltre 10.000 colonne. In secondo luogo, ho difficoltà ad analizzare i limiti dal messaggio << Get Property("Spec Limits"). (1) Restituisce semplicemente USL(1) (senza virgolette) e non mi è chiaro come estrarre il numero da questo. (2) non sembra restituire LSL, anche se ho confermato nella finestra Proprietà colonna che era impostato su 1. Lo script seguente illustra:
Names Default to Here(1);<BR />dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Height << Set Property("Spec Limits", USL(1), LSL(1)); //confirm limits set in col props window.<BR />specs = dt:Height << Get Property( "Spec Limits" ); //returns USL(1) only
lsl = specs["LSL"]; //returns .
usl = specs["USL"]; //returns .
Mi scuso in anticipo se ci sono altre soluzioni ovvie a cui non ho pensato (o ho dimenticato di menzionare). Mi scuso anche se ho sorvolato su alcuni dettagli cruciali. Ci sto lavorando da un po' ormai, quindi sono piuttosto immerso nel nulla.
Grazie per la considerazione.
@nikles stiamo pianificando di apportare un aggiornamento alla tabella dati in JMP v18.1 che consentirebbe LSL=USL. Tieni presente, tuttavia, che le colonne con tale impostazione della proprietà non funzionerebbero nei rapporti sulle capacità.
Ciao @nikles, ho letto il thread di discussione della community correlato e questa richiesta. Mi sembra che ciò di cui hai veramente bisogno sia un modo per definire e memorizzare una "specifica categoriale". Ad esempio, se il test del prodotto produce semplicemente un risultato Pass/Fail e "Pass" è la specifica, si desidera poterlo archiviare come specifica in una proprietà di colonna. Ho potuto vedere anche altri tipi di specifiche categoriche, ad esempio il risultato del test è Eccellente, Buono, Scarso, Fail e "Eccellente" o "Buono" è la specifica superata.
Attualmente la proprietà della colonna USL e LSL per i limiti di specifica è destinata alle risposte continue e per questo motivo non ha senso per LSL>=LSL. La piattaforma Gestisci limiti in Analizza > Qualità e processo è destinata alla gestione dei limiti utilizzati nelle analisi JMP. Non sono a conoscenza di alcuna piattaforma JMP che utilizzi un limite categorico come questo.
Per le tue necessità immediate, puoi creare una proprietà di colonna personalizzata (scegli "Altro" nelle proprietà della colonna) per archiviare la specifica categorica. Oppure potresti usare il messaggio << Set Property( ) in JSL sulla tabella dati. Quindi potresti utilizzare quella proprietà nei tuoi script.

Correzione importante. Le seconde righe in entrambi gli script mostrati sopra dovrebbero essere:
dt:Height << Set Property("Spec Limits", {USL(1), LSL(1)}); //forgot to add {}Ci scusiamo per la svista. Ciò spiegherebbe perché avevo difficoltà a utilizzare i messaggi << Imposta proprietà e << Ottieni proprietà. Ora vedo che *posso* rileggere i limiti utilizzando la finestra Gestisci limiti. Tuttavia, ricevo ancora il seguente popup quando si apre Gestisci limiti:

Inoltre, se provo a "Salvare nella tabella dei limiti alti", ottengo questo errore:

Infine, nel mio post originale sotto "Cose che abbiamo considerato", punto 3 ( Rileggi i limiti dalla tabella dati utilizzando il messaggio << Ottieni proprietà invece di Gestisci limiti), questo metodo ora funziona per me. Preferirei comunque utilizzare la piattaforma Gestisci limiti per leggere i miei limiti poiché crea automaticamente una tabella, ma almeno questa è una soluzione praticabile.
@SamGardner Grazie per l'aiuto! Sono contento che abbiano deciso di consentire LSL=USL. Non avevo considerato l'altra tua soluzione sulla definizione di una proprietà di specifica categoriale, quindi grazie anche per quello. Tuttavia, direi che un problema con questa soluzione sarebbe simile all'altra mia soluzione di definire solo l'LSL per queste colonne. Cioè, avrei bisogno che i miei script trattino quelle colonne in modo diverso durante il calcolo dei rendimenti, il che richiede che i miei script sappiano per quali colonne farlo. Consentire LSL=USL mi consente di trattare tutte le colonne allo stesso modo.