Come sostituire: nome_colonna con la variabile in JMP JSL?@jthi Potete aiutarmi a correggere l'errore del codice riportato di seguito? Come utilizzare la variabile per sostituire: nome colonna nel modo corretto? Grazie mille per il vostro aiuto.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
hvar = "height";
gvar = "sex";
std = Col Std Dev( if(Excluded( Row State() ) == 0 & column(gvar) =="M", column(hvar) ));
//std = Col Std Dev( if(Excluded( Row State() ) == 0 & :sex =="M", column(hvar) ));
show(std);
Automazione e scriptingfinestreRi: Come sostituire :column_name con la variabile in JMP JSL?Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
hvar = "height";
gvar = "sex";
std = Col Std Dev( if(!Excluded( Row State() ) & as column(dt, gvar) == "M", as column(dt, hvar) ));
//std = Col Std Dev( if(Excluded( Row State() ) == 0 & :sex =="M", column(hvar) ));
show(std);
A volte è necessario utilizzare "as colonna". A volte solo "colonna".
Ri: Come sostituire :column_name con la variabile in JMP JSL?Il modo in cui lo sostituisci dipende dal caso d'uso, nel tuo caso utilizzare AsColumn come suggerito da @pmroz è l'opzione più semplice.
Pochi collegamenti
Di seguito sono riportate alcune altre opzioni, ma richiedono più scripting che di solito non sono necessari in questo tipo di casi
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
hvar = "height";
gvar = "sex";
// As Column
std = Col Std Dev(If(!Excluded(Row State()) & As Column(dt, gvar) == "M", As Column(dt, hvar)));
// Data table subscripting
// https://community.jmp.com/t5/Uncharted/Data-table-subscripting/ba-p/21013
rows_of_interest = dt << Get Rows Where(Excluded(Row State()) == 0 & Column(gvar)[] == "M");
std2 = Std Dev(dt[rows_of_interest, hvar]);
// Build and evaluate expression
// https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998
std3 = Eval(Substitute(
Expr(Col Std Dev(If(!Excluded(Row State()) & groupcol == "M", numcol))),
Expr(groupcol), Name Expr(AsColumn(gvar)),
Expr(numcol), Name Expr(AsColumn(hvar))
));
// Check
std4 = Col Std Dev(If(Excluded(Row State()) == 0 & :sex == "M", :height));
show(std, std2, std3, std4);
Ri: Come sostituire :column_name con la variabile in JMP JSL?Grazie mille. Funziona molto bene