Subscribe Bookmark RSS Feed

Interactively select a column to perform an operation (say Log of a column) and place results in a new column using JSL

robinson

Community Trekker

Joined:

May 28, 2015

I am trying use JSL to interactively choose a column from a DT perform an operation on that column and place in a new column. I cannot get the syntax correct to execute the operation.  Enclosed is my script and a sample DT.

1 ACCEPTED SOLUTION

Accepted Solutions
Solution

It can be tricky to pull a column from a dialog and put into a column formula.

Here is one way to do it, based on your example:

Names Default To Here(1);

dt = Current Data Table();

cdlg = Column Dialog(sel = ColList("Select Col", MinCol(1), MaxCol(1)));

f = Eval Expr(Log(Expr(cdlg["sel"][1])));

szz = cdlg["sel"][1] << get name;

dt << New Column("Log of " || szz, numeric, continuous, formula(Name Expr(f)));


2 REPLIES
Solution

It can be tricky to pull a column from a dialog and put into a column formula.

Here is one way to do it, based on your example:

Names Default To Here(1);

dt = Current Data Table();

cdlg = Column Dialog(sel = ColList("Select Col", MinCol(1), MaxCol(1)));

f = Eval Expr(Log(Expr(cdlg["sel"][1])));

szz = cdlg["sel"][1] << get name;

dt << New Column("Log of " || szz, numeric, continuous, formula(Name Expr(f)));


robinson

Community Trekker

Joined:

May 28, 2015

Works Great. Much Appreciated