控制图脚本问题所以我有这个
dt << newColumn(“FlatPeak”,“numeric”,“continuous”,setFormula(If(:DISPENSESPEED == 1550,
最大值(:R050,:R051,:R052,:R053,:R054,:R055,:R056,:R057,:R058,:R059,:R060)* 1000,
。
)
));
我可以以某种方式使用
dt << newColumn(“FlatPeak”,“numeric”,“continuous”,setFormula(If(:DISPENSESPEED == 1550,
最大值(:R050 :: R060)* 1000,
。
)
));
试图能够指定更多的列(:R050等...),而无需键入它们...
有一些像
= AVERAGE(A1:G1)
Re:控制图脚本问题我不知道任何这样的语法。我建议您将您的请求添加到JMP愿望清单中Re:控制图脚本问题你好 @UberBock ,
我也没有意识到任何允许你以这种方式指定列范围的jsl(通常,我避免对列的数字引用,因为顺序会影响我的脚本的结果)。也就是说,我觉得你在指定大量列时很痛苦。我所做的是使用公式编辑器中的“替换选定的Subexpression”操作来创建列列表,然后复制到我的jsl中。只需在公式中添加一个函数(如max()),选择一组列,右键单击>用列替换选定的子表达式。这是看起来像:
我希望这有帮助!
@julian
Re:控制图脚本问题感谢您的建议。 我可以看到这将如何使它更容易。 在我的情况下,它不会很好。 我正在使用自定义SQL来查询数据。 在Post-Script Query选项卡中,我有各种脚本来添加内容和其他内容。 因此,我必须使用数据库中的列名创建一个新表,以使用您的建议。现在我使用excel / notepad创建一长串逗号分隔的项目以粘贴到脚本中。 我明白我的情况并不常见。
Re:控制图脚本问题你好 @UberBock ,
我明白!也许一些jsl来制作你的列列表,然后使用该列表评估公式可以做到这一点?这是一种(也许是不优雅的)方式:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Baltic.jmp" );
//set range for columns
colMin = 5;
colMax = 8;
colStrList = "";
//make list of columns
For( i = colMin, i < colMax, i++,
colStrList ||= ":Name(\!"" || Column Name( i ) || "\!"),"
);
//create formula
Eval( Parse( Eval Insert( "\[
dt << New Column( "Test",
"numeric",
"continuous",
Set Formula( Maximum( ^colStrList^ ) )
);
]\" ) ) );
@julian