使用 for 循环生成列您好,我尝试使用下一个 JSL 脚本行生成几列,但是在运行脚本时数据表为空白:
For(i=0,i<3,i++,New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] )))
如何修复?
回复:使用 for 循环生成列同样,先制作表格,然后添加列。这是一些可以满足您要求的代码(我认为):
Names default to here( 1 );
//Make the data table
dt = New Table( "Tokens",
Add Rows( 3 ),
New Column( "Visual_ID", Character, Nominal, Set Values( {"88", "89", "94"} ) ),
New Column( "FF", Character, Nominal, Set Values( {"Y83", "YA8", "654"} ) ),
New Column( "Bipping",
Character,
Nominal,
Set Selected,
Set Values(
{"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|17|18|18",
"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|18|18|18",
"19|18|18|18|17|18|16|18|18|19|21|19|19|18|18|17|16|16|17"}
)
)
);
//Then add columns to it.
For( ii = 1, ii<19, ii++,
dt << New Column ("My_Column_" || Char(ii),
Character,
Nominal,
Formula(
Word( ii, As Column( Column( "Bipping" ) ), "|" )
)
)
);回复:使用 for 循环生成列你能看看这里吗: https://community.jmp.com/t5/Discussions/Loop-is-not-working/mp/77361#M36165
在上面的链接中,我尝试制作类似的东西,但它不起作用
回复:使用 for 循环生成列语法看起来是正确的,所以我怀疑问题出在您使用它的上下文中。要完成这项工作,首先创建一个表,然后添加新列。为确保在正确的表中创建列,请引用该表并向其“发送”新列消息,如下所示:
Names default to here( 1 );
//Open a blank table and save a reference to it
dt = New Table( "New Table", Add Rows( 0 ) );
//Add columns to the table
For( i=0, i<3, i++,
dt << New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] ))
);