Come si scrive un JSL che implementa una delle condizioni per la selezione di un sottoinsieme utilizzando i valori delle celle?Ad esempio, nella colonna "Big Class.jmp": aggiungi" aggiungi" e modifica il valore della prima riga della colonna "aggiungi" in "&:altezza<65". Come si codifica JSL per aggiungere la condizione nella prima riga della colonna "aggiungi"?
Rendi la funzione JSL di questa combinazione uguale a quella del codice seguente:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Where( sex == "F" & :age > 14 & :height < 65 );
d3 = dt << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );

Grazie!
ScriptingRi: Come si scrive un JSL che implementa una delle condizioni per la selezione di un sottoinsieme utilizzando i valori delle celle?Ho provato a codificare in questo modo, ma non ha funzionato.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "add", Character, "Nominal" );
dt[1, "add"] = "&:height<65";
a = dt[1, "add"];
dt << Select Where( :sex == "F" & :age > 14 || a );
d3 = dt << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );
Voglio sapere come codificare questa forma di selezione di sottoinsiemi utilizzando i valori delle celle come condizioni.
Grazie Esperti!
Ri: Come si scrive un JSL che implementa una delle condizioni per la selezione di un sottoinsieme utilizzando i valori delle celle?Questo codice utilizza direttamente il contenuto della cella per calcolare i valori nella formula della colonna.
Ma non so come applicare questo modulo al codice che seleziona i sottoinsiemi.
Grazie!
aaa = dt[r, "abc"];
Eval( Parse( "Column(d9,\!"test\!")<<FORMULA></FORMULA>
Ri: Come si scrive un JSL che implementa una delle condizioni per la selezione di un sottoinsieme utilizzando i valori delle celle?Questo è sicuramente possibile, ma hai escluso l'utilizzo di un filtro dati (globale)? Ciò consentirebbe a te e a coloro che non sono scripter di inserire facilmente le query, salvare i tuoi preferiti e salvare il filtro nella tabella dei dati per un uso futuro.
Una volta che i preferiti esistono, sono facilmente accessibili da un menu a discesa.
Questo è un modo davvero semplice per andare (e per insegnare ai tuoi colleghi avversi alla sceneggiatura, chi potrebbero essere gli utenti finali?). L'approccio basato sulle celle richiederà agli utenti finali di inserire una sintassi legittima, tutt'altro che garantita.
Dopo averlo impostato, gli utenti devono solo scegliere da un menu a discesa. Gli utenti più avanzati possono aggiungere i propri filtri. Le selezioni vengono effettuate immediatamente, quindi non resta che creare il sottoinsieme.

Se, d'altra parte, devi mantenere il tuo approccio iniziale, ecco un modo per farlo:
Names Default To Here(1);
//setup
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("add");
dt:add[1] = " & :height < 65";
//using \[ and ]\ to delimit the initial :sex == "F" string means you don't have to escape double-quotes.
query text = "\[:sex == "F"]\" || dt:add[1];
//parse and substitute the actual query text in for _TXT_ in the first expression below, and evaluate
eval (substitute(
expr ( dt << Select Where( _TXT_ ) ),
expr( _TXT_),
parse(query text)
));
dtSub = dt << subset (selected rows(1), selected columns(0));
Saluti,
Brady