如何通过 JSL 将值标签添加到列在我的主表(表 1)上,有一个名为“Bin”的列,其中包含任何数字(对应于另一个表(即表 2)上的“Bin Number”列条目)。 现在我想通过脚本为“Bin”这一列分配值标签。 值标签来自表 2,其中有两列:“Bin Number”和“Description”。
硬编码类似的东西
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );很简单。 然而,我正在努力解决如何创建具有动态值标签并根据其他表上的内容制定的表达式。 在上面的代码中,“1, 2, 3,...”是表 2 中“Bin Number”的条目,而“Cool, Awesome, Bad,...”是“Description”的条目。
如果您能给我指出一些巧妙的技巧,我将不胜感激。 谢谢!
回复:如何通过 JSL 将值标签添加到列非常感谢它成功了。 你的回答让它看起来很容易。
回复:如何通过 JSL 将值标签添加到列这是处理该问题的一种方法。 它基本上创建一个包含所需特定结构的字符串。 然后将其作为元素添加到用于将值标签添加到列所需的列表中。
Names Default To Here( 1 );
dt = New Table( "Untitled 36", Add Rows( 3 ),
New Column( "Column 1", Character, "Nominal",
Set Values( {"1", "2", "3"} ) ) );
NamesList = {"Cool", "Awsome", "Bad"};
ValuesList = Column( dt, 1 ) << get values;
NamesValuesList = {};
// Build the Value Labels List
For( i = 1, i <= N Items( NamesList ), i++,
Insert Into( namesvalueslist,
Parse( "\!"" || ValuesList[i] || "\!" = \!"" || NamesList[i] || "\!"" ) )
);
// Create the Value Labels
Column( dt, 1 ) << set property( "Value Labels", Eval( NamesValuesList ) );