如何用新内容替换整个列(如果存在)这篇文章是对已解决论坛的跟进和延伸这里.
在那篇文章中开发了以下脚本:
Names Default To Here(1);
dt = Current Data Table();
//get the unique character variable list
col9 = Column(dt, "Column 1");
unique_char = Associative Array(col9) << get keys;
nuniquechar = N Items(unique_char); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array(unique_char, Repeat({.}, nuniquechar)); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For(i = 1, i <= nuniquechar, i++,
Insert Into(vlbExpr, Text Box("Number for " || Char(unique_char[i]) || ":")); //i.e. "Number for A:"
Eval(
Eval Expr(Insert Into(vlbExpr, Number Edit Box(., <<SET function=""></SET>如果第 2 列已经存在,并且用户希望通过重新运行脚本并输入一组新值来将其替换为一组新值。
我尝试使用更新功能。 如果第 2 列存在,则将在第 2 列上使用更新功能。 否则,将创建第 2 列。如上。但我不熟悉 Eval 表达式,需要更好地了解如果可行,我可以在脚本中放置这样的语句。
数据表脚本编写回复:如何用新内容替换整个列(如果存在)这是一种处理列已存在问题的方法
Names Default To Here( 1 );
dt = Current Data Table();
//get the unique character variable list
col9 = Column( dt, "Column 1" );
unique_char = Associative Array( col9 ) << get keys;
nuniquechar = N Items( unique_char ); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array( unique_char, Repeat( {.}, nuniquechar ) ); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For( i = 1, i <= nuniquechar, i++,
Insert Into( vlbExpr, Text Box( "Number for " || Char( unique_char[i] ) || ":" ) ); //i.e. "Number for A:"
Eval(
Eval Expr(
Insert Into(
vlbExpr,
Number Edit Box(
.,
<<SET function=""></SET>