JSL [列“???”的复制粘贴错误需要数字值]我不知道为什么这不起作用。 我选择空行,选择第二列并尝试将它们复制到空行中。
两列都是数字,有时与其他表一起使用。
附上示例表和脚本。
dt_2= data table("Untitled 20");
dt_2 << Select Where(Is Missing( :target1));
rs = dt_2 << Get Selected Rows();
if(nitems(rs)>0,
dt_2:target1[rs] = dt_2:temp1[rs];
dt_2:target2[rs] = dt_2:temp2[rs];
//dt_2 << Delete Columns( :temp , :temp2 );
);警报:

谢谢
毛罗
脚本回复:JSL [列“???”的复制粘贴错误需要数字值]- 在您提供的数据表中,您的“temp”列是“temp”和“temp2”,而不是“temp1”和“temp2”
- 您需要遍历作业。JMP 数据表无法处理右侧参数具有多个值的赋值。在下面查看我的更改
Names Default To Here( 1 );
dt_2 = Data Table( "Untitled 20" );
// dt_2 << Select Where( Is Missing( :target1 ) );
// rs = dt_2 << Get Selected Rows();
// Simplier code
rs = dt_2 << Get Rows Where( Is Missing( :target1 ) );
If( N Items( rs ) > 0,
For( i = 1, i <= N Items( rs ), i++,
dt_2:target1[rs[i]] = dt_2:temp[rs[i]];
dt_2:target2[rs[i]] = dt_2:temp2[rs[i]];
//dt_2 << Delete Columns( :temp , :temp2 );
)
);
回复:JSL [列“???”的复制粘贴错误需要数字值]谢谢@txnelson
这行得通,但我尽量避免 for 循环。
它适用于数组,但不适用于表本身:
temp = dt_2:tartet2 << get values(); // copy row from target
temp[rs] = dt_2:temp2[rs]; // replace the values in the array
dt_2:target2 << set values(temp); // re-insert into target