Comment utiliser une variable pour référencer une colonne dans une fonction de formule ?Salut, je dois créer une nouvelle colonne en appliquant la formule sur deux colonnes existantes. Je souhaite référencer une colonne via une variable plutôt qu'un référencement direct. Voici le code, mais la formule semble ne pas reconnaître Column(ColVar). Quelqu'un pourrait-il m'aider à le réparer ? Merci d'avance.
yCol = Column("weight");
xCol = Column("height");
Bivariate( Y( yCol ), X( xCol) );
colVar ="$weight";
dt = currentdatatable();
dt<<NEW column=""></NEW>AnalytiqueTableau de donnéesRe : Comment utiliser une variable pour référencer une colonne dans une fonction de formule ?Étant donné que l'entrée de la formule est exécutée lors de l'exécution de la colonne, et non lors de la création de la colonne, ce qui est présenté dans la formule doit être le JSL complet requis pour le traitement.
Voici comment je gère ces problèmes
names default to here(1);
yCol =":weight";
dt = currentdatatable();
eval(parse("dt<<NEW column=""></NEW>Re : Comment utiliser une variable pour référencer une colonne dans une fonction de formule ?Voici juste un autre exemple utilisant
eval(eval expr( expr ()))
mais en utilisant la même stratégie, implémentez la valeur de la variable dans la formule.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// get column names and show results
col_lst = dt << get column names();
my_cols= col_lst[4::5];
show(col_lst, my_cols);
// implement new formula
Eval( Eval Expr( dt << New Column( "sum of ", formula( sum(Expr(my_cols )) ) ) ) );