如果选择了行,则设置单元格值你好,
我是一个新手,试图编写一个脚本来在单元格的行被选中时填写单元格值。我想到的用例如下:在探索性数据分析期间,我在图表中选择了一些我怀疑是异常值的点。我有另一个脚本可以帮助我查看原始数据(不是 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 ,
嗯,对我来说,验证数据可能是一项可能需要多次编辑会话的任务。另外,也许我很笨拙,但对我来说很容易不小心取消选择。这是一个可以理解的替代建议@Thierry_S建议:
- 如果摘要/计算数据被认为质量不佳,请右键单击并排除
- 一旦完成验证并运行标准分析
- 创建一个新列,我将调用排除状态。制作数据类型行状态,它有一个红色的星形图标。现在您可以单击该列名称并选择从行状态复制请参阅下面的屏幕截图。

- 然后创建一个名为 Flag 或 Excluded 的列,将其设为 Numeric、Nominal。 做一个公式排除()并选择应用按钮,然后清除公式,按好的. 现在您将在排除的行中有 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