从一列替换多行值无法正常工作您好 JMP 社区,
我遇到了一个很奇怪的问题。 这是我的代码:
dt_temp = data table("aaaa");
dt_temp << Summary( Group( :Column1,:Column2), Freq( "None" ), Weight( "None" ),output table name( "summary" ) );
data table("summary") << select where (:N rows >= 2 & !contains(:Column1,"AA") & !contains(:Column1,"BB") );
rows = dt_temp << get selected rows;
dt_temp:Column3[rows] = "";
//Column(dt_temp, "Column3")[rows] = "";
当我运行此代码时,即使行具有 [10, 11, 20, 21] 之类的值,但 column3 的最终结果是不同的。 它替换其他行(比方说第 1、5、...)而不是获取选定行中的行。
你能帮我解决这个问题吗?
脚本编写回复:从一列替换多行值无法正常工作您是否尝试替换原始数据表或汇总表中的值? 这对我来说似乎很好用:
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
data table("summary") << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));
rows = dt_temp << Get Selected Rows;
show(dt_temp:name[rows]);
dt_temp:name[rows] = "";
show(dt_temp:name[rows]);回复:从一列替换多行值无法正常工作嗨,贾尔莫,
感谢您的建议,但似乎对我不起作用。
为了澄清,我想根据汇总表的条件替换原始表中的值。
我也试过运行你的代码,结果如下:
从汇总表中选择的行:

从主表中选择的行。 选择了 15 行,但它只替换了每组的第一行:

回复:从一列替换多行值无法正常工作您使用的是哪个版本的 JMP? 我正在使用 15.2.1,我的示例似乎对我来说很好用:

回复:从一列替换多行值无法正常工作我正在使用 Jmp Pro 12.2.0,64 位版本。 供您参考的日志文件:

虽然显示行号 (-1) 的日志文件不是无效的,但是当我显示行时,没有这样的行。
回复:从一列替换多行值无法正常工作基于此数据表下标我设置单元格值的方式可能在 JMP13 中可用。
我会尽量避免循环,但我无法访问比 15 旧版本的 JMP,所以我不确定这是否可行:
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
dt_summary << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));<BR />
//get rows which should be set to empty
rows = dt_temp << Get Selected Rows;
//get all values in name column
colValues = dt_temp:name << get values;
show(colValues);
//set selected rows in the colValues list to ""
colValues[rows] = "";
show(colValues);
dt_temp:name << Set Values(colValues);