当您尝试永久标记某些当前选定的数据,然后删除数据上方的行时,标记将移动到不同的数据条目。
例如选择第五行,右键一列,选择“新建公式列”->“行”->“选定”
这使得一个新列“被选中”,除了标记为 1 的第 5 行外全为零。非常有帮助!
但是,如果您随后出于某种原因删除了第 2 行,则第 5 行在“选定”列中仍标记为“1”!
我原以为它现在只是标记为选中的第 4 行,因为这是我标记的条目。
这是故意的吗?我敢打赌,大多数人都希望能够删除行,而不会让剩余的条目收到不同的值。
你好,
检查公式将告诉我们这里发生了什么。 下面,我制作了一个表格并完成了与您所做的相同的事情:我选择了第 5 行,然后在第 5 行上安装了一个单击“选择”列。 请注意,这当前对应于 col1 中值为 28 的行。

删除第 2 行后,正如您提到的那样——第 5 行仍然有 1,但这不是 col1 中值为 28 的行。

双击 Cols 窗格中 Selected 列右侧的“+”,我们会看到一个图像,告诉我们公式包含一个 15x1 矩阵,由 row() 函数索引。

双击此图像以查看公式本身:

这个公式总是在第 5 行放置一个“1”,因为 1 被硬编码到矩阵中。 事实上,将一些零更改为 1,您现在会看到,其他行也设置为“1”。
我们的表在开始时有 15 行,而现在只有 14 行,这并不重要……只要该行存在,矩阵中带有“1”的任何行都会在表中收到“1”。
为什么会有人用这个? 也许是为了在多次重新排序后轻松选择某些行……例如,假设我们使用此方法将前 50(或 500)行设置为 1。 我们现在可以按任何列排序,然后通过右键单击此“选定”列中的 1,选择“选择匹配的单元格”,然后选择表 > 子集并按回车来轻松子集。 我可以一遍又一遍地重复此操作,以根据各种标准获得“前 50”(或前 500)子集,而无需使用其他公式,也无需滚动选择前 50 行。
也就是说,这是一个不寻常的用例。 我不得不做梦... 我从来没有真正做过这件事。
如果您想防止这种行为,有几种简单的方法:
1) 照原样进行,然后删除公式。 最简单的方法是双击加号,按删除键,然后单击“确定”。
2) 您可以改为通过从主菜单中选择行 > 行选择 > 列中的名称选择来创建列,这不会生成公式。
3)最后,如果您确实希望为任何选定的行动态显示 1,请执行以下操作:
1) 添加新列
2) 右键单击列标题并选择公式...
3)输入这个公式:
选定(行状态 ( ) )
4) 点击“确定”。
您现在创建了一个列,其值为1,只要选择行,否则为0。 单击周围,选择不同的行,您会注意到值更新以反映当前选择。 这是我最喜欢的数据表技巧之一。 这里有一些关于这可能如何有用的想法: https://community.jmp.com/t5/JMP-On-Air/Special-Formula-Columns/ta-p/257371
干杯,
布雷迪