如果选择行则设置单元格值你好,
我是一个新手,试图编写一个脚本来填充单元格值(如果选择了该行)。我想到的用例如下:在探索性数据分析期间,我在图表中选择了一些我怀疑是异常值的点。我有另一个脚本可以帮助我查看原始数据(不是 JMP 表的一部分),并且根据查看该原始数据,我决定应从我的分析中排除与该数据点对应的行(即使用的原始数据)生成该特定行是垃圾)。我只需右键单击并选择“排除”即可。现在我所有的 JMP 分析都只关注好的数据点,这很好。现在,在完成所有这些分析后,我想返回并对我排除的行进行一些分析。例如,如果每一行代表不同操作员收集的数据,则可能一个操作员正在产生大量垃圾数据。我当然可以做一个点击解决方案来选择所有排除的行并创建一个新的子集数据表,但我更喜欢做的是添加一个新列(我们称之为 FlagColumn)并将 FlagColumn 中的所有选定行设置为“坏”,所有其他行都为“好”。我的想法是这样的:
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);但这似乎没有做任何事情 - 我想我不明白如何正确设置 if 语句中的条件。另外,我还没有弄清楚如何获取表中的行数(因此出于测试目的,目前我只是将 for 循环中的索引 i 设置为从 1 到 5 运行)。有什么建议么?提前致谢!
数据混合和清理回复:如果选择行则设置单元格值如果您不想编码并保持交互,您可以使用 Rows -> Row Selection -> Name Selection in Column 。 这将创建一个列,其中包含所选行的值和其他行的值(或缺失值)。 与上面提到的脚本化行状态选项所实现的效果类似
回复:如果选择行则设置单元格值@jdwatson ,
嗯,对我来说,验证数据可能是一项可能需要多个编辑会话的任务。另外,也许我很笨拙,但对我来说,很容易意外取消选择。这是一个替代建议,它包含@蒂埃里_S建议:
- 如果摘要/计算数据被认为质量较差,请右键单击并排除
- 完成验证并运行标准分析后
- 创建一个新列,我将其称为“排除状态”。设定数据类型行状态,它有一个红色星形图标。现在您可以单击该列名称并选择从行状态复制请参阅下面的屏幕截图。

- 然后创建一个名为“标记”或“排除”的列,将其设为“数字”、“名义”。 做一个公式排除()并选择应用按钮,然后清除公式,按好的。 现在,排除行中的值为 1,其他行中的值为 0。
- 现在您可以清除行状态并按计划使用此标志列。但您还有一个额外的好处,可以快速单击“排除状态”列并选择复制到行状态,如果您需要对优质数据进行进一步分析。
当存在可疑数据或请求“如果废话被删除了怎么办”分析时,行状态列尤其有用。您可以为标准排除项和标准+额外排除项保留行状态。这是行状态处理的一种形式,不是交互式的也不是动态的,但非常有用。
回复:如果选择行则设置单元格值啊,是的,这看起来它也完成了我想做的同样的事情,而无需任何脚本。不过,本地数据过滤器似乎不显示行状态列。有没有办法配置图形窗口,使其包含排除的行,然后使用行状态进行过滤?或者现在我这么说,也许我真正的问题是获得图表/分析的最简单方法是什么仅有的排除的行而不创建单独的子集数据表?
回复:如果选择行则设置单元格值我想我回答了我自己的问题。添加如下以防其他人遇到此问题:
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);回复:如果选择行则设置单元格值还有一件事,
您是否考虑过将 FlagColumn 数据类型更改为“行状态”并使用它来捕获当前选择状态(右键单击列标题 > 行状态单元格 > 选择/取消选择?
最好的,
TS回复:如果选择行则设置单元格值你好,
首先,尚不清楚为什么要定义“rows = dt << get selected rows”而不是在后续脚本中使用它。
其次,您是否考虑过更简单的公式:“Selected ()”,如果选择则返回 1,如果未选择则返回 0(即将 FlagColumn 公式设置为:“Selected ()”)。 值得注意的是,与所有公式一样,它默认情况下会自动求值,因此您可能需要在公式对话框中切换到“抑制求值”状态以保留某种选择状态。 此外,如果您只需要捕获一次选择状态,您可以添加公式、应用更改并删除公式,这将保留运行公式时选择的内容的稳定记录。回复:如果选择行则设置单元格值查看 make rowstste Handler