Ciao a tutti
Sto usando il generatore di grafici per creare i grafici in un rapporto. Mi piace aggiungere le linee di riferimento sul grafico come CL,LCL,UCL. Li ho nelle colonne (es. X) nella mia tabella. Sto cercando di chiamarli nella sceneggiatura come,
{Aggiungi linea di riferimento(:X, "Solido", "Nero", "LCL", 1 )}
Ma non funziona
Per favore potete aiutarmi
Grazie
ColMin e ColMax prenderanno solo il valore minimo o massimo dalla colonna e ignoreranno il valore mancante.
Alcuni rapidi esempi:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Value", Numeric, "Continuous", Format("Best", 12), Set Values([., 1, ., ., 2]))
);
Show(ColMin(:Value));
Show(ColMax(:Value));
//A bit more complicated. Loc gets rows which have non missing value as a matrix
//Then we use that matrix to get values from Value column
//and finally from that we will use only the first index
Show(:Value[Loc(:Value << get as matrix)][1]);
//You can run this in parts to see how it works
//Loc(:Value << get as matrix)
//:Value[Loc(:Value << get as matrix)]
//Will return missing value
Show(:Value[1]);Grazie. ha funzionato, anche se ancora non so se ho dei dati mancanti in una colonna, come posso scegliere la cella con i dati. Ma in questo caso l'utilizzo delle funzioni ha funzionato.

Potresti fornire una sorta di tabella di dati di esempio? Non ha dati reali fintanto che mostra l'idea di base dei dati. A seconda dell'aspetto dei dati, potresti forse ColMin/ColMax funzioni come ColMin(dt:UCL).
@jthi , Grazie.
Ho i limiti di controllo come colonne. Posso chiamare una cella come UCL[1], ma il problema è che alcune di queste colonne hanno celle vuote che potrebbero essere la prima o qualsiasi altra cella. Voglio aggiungere la linea Ref dalla cella nella colonna che non è vuota.
Hai idea di come posso farlo?
Grazie
A seconda dei tuoi dati potresti farlo in questo modo:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//add limit columns
dt << New Column("UCL", Numeric, Continuous, Set Each Value(70));
dt << New Column("CL", Numeric, Continuous, Set Each Value(60));
dt << New Column("LCL", Numeric, Continuous, Set Each Value(50));
gb = Graph Builder(Variables(X(:age), Y(:height)), Elements(Points(X, Y, Legend(4))));
axisb = (report(gb)[axisbox(2)]);
axisb << ({
Add Ref Line(dt:UCL[1], "Solid", "Black", "UCL", 1),
Add Ref Line(dt:CL[1], "Solid", "Black", "CL", 1),
Add Ref Line(dt:LCL[1], "Solid", "Black", "LCL", 1)
});Oppure traccia direttamente quelle colonne:

o impostali sulle proprietà della colonna come limiti di specifica:


Tutti questi possono essere script se necessario.
Modificare:
E se volevi dire che hai impostato la proprietà Limite controllo colonna, richiederà un po' di script in più per ottenere i limiti dalla proprietà colonna (la parte di analisi dipenderà in gran parte dal caso e da come sono impostati i limiti di controllo, ma l'idea dovrebbe essere la stessa 
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
obj = dt << Control Chart(Sample Size(:Sample), KSigma(3), Chart Col(:Weight, XBar, R));
Wait(0);
obj << Save Limits(in Column);
gb = Graph Builder(
Variables(X(:Sample), Y(:Weight)),
Elements(Points(X, Y, Legend(3)), Smoother(X, Y, Legend(4)))
);
//get Control Limits column property and parse limits
colProp = dt:weight << Get Property("Control Limits");
xbarLimits = Words(Char(colProp[1]));
xbarCL = Num(Word(3, xbarLimits[1], "()"));
xbarLCL = Num(Word(2, xbarLimits[2], "()"));
xbarUCL = Num(Word(2, xbarLimits[3], "()"));
//add control limits
axisb = (report(gb)[axisbox(2)]);
axisb << ({
Add Ref Line(xbarUCL, "Solid", "Black", "UCL", 1),
Add Ref Line(xbarCL, "Solid", "Black", "CL", 1),
Add Ref Line(xbarLCL, "Solid", "Black", "LCL", 1)
});