使用条件公式填充新列我试图根据 (:Assign Month) 的值用“A”或“B”填充新列 (:Prog_)。:Assign Month 是一个数字、连续、m/d/y 变量。
下面的脚本导致 :Prog_ 列被填充,但不是我尝试填充 :Prog_ 列的值。
我想用“A”填充 :Prog_ 列行 if :Assign Month <= "06/15/2016"
如果 :Assign Month is > 06/15/2016",我想用“B”填充 :Prog_ 列行
这是到目前为止我尝试使用(未成功)的脚本:
CT << 新列("Prog_", 字符);
对于每一行(Prog_ = if( Char(Format(:分配月份,"m/d/y")) <= "06/15/2016", "A", "B" ));
CT << 新列("Prog_", 字符);
对于每一行(Prog_ = if( :分配月份 <= 06/15/2016, "A", "B" ));
高级统计建模自动化和脚本编写消费者和市场研究质量和工艺工程分享和交流结果回复:使用条件公式填充新列感谢您对该脚本的帮助!
丹·F.
回复:使用条件公式填充新列你好,马克 - 感谢您对此脚本的帮助!
丹·F.
回复:使用条件公式填充新列您的原始变量是数值变量,代表 JMP 日期和时间值。 无需将其转换为格式化字符串。 您可以直接将时间阈值指定为常数。
CT << New Column( "Prog_", Character );
For Each Row( :Prog_ = If( :Assign Month <= 15Jun2016, "A", "B" ) );
回复:使用条件公式填充新列以下是我处理此类问题的典型方法。Informat() 函数将字符串转换为日期的数字表示形式,然后可以轻松地与 JMP DateTime 值进行比较。
CT = Current Data Table();
CT << New Column( "Prog_", Character );
For Each Row( Prog_ = If( :Assign Month <= Informat( "06/15/2016", "mdy" ), "A", "B" ) );
并添加到@蒂埃里_S如果您创建了公式列,则可以避免使用 For Each Row()
CT = Current Data Table();
CT << New Column( "Prog_",
Character,
formula(
If( :Assign Month <= Informat( "06/15/2016", "mdy" ),
"A",
"B"
)
)
);
回复:使用条件公式填充新列你好,
首先,确保 :Assign Month 列的格式为数字、连续日期格式;我猜测您在公式中使用引号表明目前情况并非如此。
其次,您不需要告诉 JMP 查看每一行,它默认这样做。
第三,:Prog_ 列中的公式应该是:
If( :Column 1 <= Date MDY( 16, 05, 2016 ),
"A",
"B"
)
值得注意的是,如果这是 JSL 脚本的一部分,则该函数应包含在 New Column 语句中(请检查脚本帮助以获取确切的语法)。
最好的,
TS