Ciao a tutti,
Sto cercando di creare un grafico unidirezionale individuale in base al valore in un determinato elenco.Sono in grado di farlo in un ciclo for utilizzando where colonna == valore nell'elenco e così via. Il problema è che quando utilizzo una clausola where ottengo questo TextBox nella casella di riepilogo sopra il grafico di cui non riesco a modificare il testo tramite JSL. Sono in grado di cambiarlo quando faccio clic con il pulsante destro del mouse e entro nelle proprietà, ma voglio che ciò avvenga tramite il codice. Qualsiasi aiuto sarebbe apprezzato poiché in questo modo non mostra quali sono i dati e può essere fuorviante senza che io possa modificare il testo. Il modo corretto si verifica quando utilizzo una clausola By generica per la colonna ma desidero lo stesso aspetto del codice. Si prega di guardare gli esempi seguenti.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
types = {"F", "M"};
ow = Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
Where(:sex == types[1])
);produce:

Vorrei che questa parte dicesse :Sex == "F" quindi se il grafico è in un rapporto mostra che è stato sottoinsiemiato da "F" poiché in questo momento non fornisce tali informazioni.
Usando questo codice:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ow = Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
By(:sex)
);Ottengo:

So che il ciclo for mi darà "M", ma come posso ottenere gli stessi dettagli con sex=F sul primo utilizzando una clausola where.
Grazie in anticipo e qualsiasi aiuto sarebbe apprezzato!
Ciò che è necessario fare è espandere completamente ciò che viene passato a JMP, in modo che quando si passa Oneway a JMP non ci siano valutazioni delle espressioni da eseguire.
Ecco un modo per farlo:

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
types = {"F", "M"};
Eval(
Substitute(
Expr(
ow =
Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
Where( :sex == _types_ )
)
),
Expr( _types_ ), types[1]
)
);