Ottenere i limiti di controllo dalla proprietà della colonnaHo trovato questo argomento in precedenza per estrarre i limiti delle specifiche dalle proprietà della colonna.
https://community.jmp.com/t5/Discussions/Get-column-Property-and-store-as-list/td-p/50885
Tuttavia, devo fare lo stesso anche con i limiti di controllo.Per questo però lo stesso principio non funziona.
CTRL = Column(colname) << Get Property( "Control Limits" );
LCL = CTRL["LCL"];
Resi: Nome non trovato. in accesso o valutazione di 'Subscript' , CTRL[/*####*/"LCL"]
Non riesco a capire perché l'indicizzazione è incoerente qui.Nel complesso sembra che JSL sia molto incoerente con l'accesso alle informazioni sul campo dell'oggetto indicizzato.C'è qualcosa che mi manca?Mi sembra di passare metà del mio tempo a scrivere script solo cercando di capire come ottenere l'accesso alle informazioni incorporate negli oggetti.
Ri: Ottenere i limiti di controllo dalla proprietà della colonnaWow, è brutto. Sono sorpreso che non ci sia un modo diretto per estrarre questi dati... Immagino sia un motivo in più per spingere più codice al di fuori di JMP, ove possibile.Apprezzo la risposta anche se soprattutto vista la profondità a cui è stato richiesto per portare a termine il compito.
Ri: Ottenere i limiti di controllo dalla proprietà della colonnaNon è così semplice... vorrei che lo fosse.Ecco un po' di codice che ho usato... potrebbe esserci un codice migliore là fuori... l'ho personalizzato per i limiti delle misurazioni individuali... ma può essere espanso
cLimits = dt:npn1 << get property( "control limits" );
For( i = 1, i <= N Items( cLimits ), i++,
If( Trim( Word( 1, Char( cLimits[i] ), "(,)" ) ) == "Individual Measurements",
IRLimits = Char( cLimits[1] );
k=2;
While( Word( k, IRLimits, "()" ) != "",
If(
Word( k, IRLimits, "()" ) == "Avg",
Avg = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "LCL",
LCL = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "UCL",
UCL = Word( k + 1, IRLimits, "()" )
);
k++;
);
)
);Ri: Ottenere i limiti di controllo dalla proprietà della colonnaAvevo notato il diverso raggruppamento e ho provato una dozzina di modi diversi per provare a estrarlo dall'oggetto bambino senza fortuna.Il debugger mostra che ottiene i miei limiti di controllo delle misurazioni individuali, ma nessuna forma di indicizzazione che ho provato sembrava essere in grado di estrarre i valori limite individuali dall'oggetto.
Mi aspetterei di essere in grado di fare qualcosa di simile
LC = (CTRL["Misurazioni individuali"])["LCL"];
O
LCL = CTRL("Misure individuali")["LCL"];
o qualcosa di simile come nei linguaggi di programmazione/scripting delle convenzioni, ma nulla sembrava funzionare.Come dovrei effettivamente ottenere l'accesso a quei dati?
Ri: Ottenere i limiti di controllo dalla proprietà della colonnaI limiti di specifica non sono così complessi come i limiti di controllo.Per i limiti delle specifiche, in pratica hai e LSL, Target e USL.Per i limiti di controllo, potresti avere diversi raggruppamenti LCL, Avg e UCL a causa dei diversi tipi di limiti di controllo.Vedere sotto l'output della struttura di Limiti di specifica e Limiti di controllo per la stessa colonna.
dt:npn1 << get property("spec limits") = {LSL(104.41), USL(131.89), Target(118.15)};
dt:npn1 << get property("control limits") = {XBar(Avg(115), LCL(110), UCL(120), Subgroup Size(3)), R(Avg(10), LCL(5), UCL(15), Subgroup Size(3))};
Pertanto, il recupero e l'analisi di un limite di controllo devono essere completamente diversi da quelli per i limiti di specifica.