计算每列中的值或单词的数量我有一组数据集,我想计算“OK”的数量并将计算值放在每列的行底部。
例如:
| AB | 和 | 广告 |
| OH;OC; | 好的 | 好的 |
| OH;OC; | 好的 | 好的 |
| OH;OC; | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 好的 | 好的 | 好的 |
| 6 | 9 | 9 |
For(i=1,i<=NCol(dt),i++,
Column(dt,i)[NRows(dt)] = Char(N Rows( dt<< get rows where( As Column(dt,i) == "OK")));
)
我正在使用上面的代码,但它似乎不允许我将值输入到锁定的列中。
当我使用 try() 时,它会忽略它并继续执行脚本。
锁定的列中有公式。还有其他方法可以写入这个或覆盖锁定列错误吗,我正在使用 jmp 14
自动化和脚本回复:计算每列中的值或单词的数量由于您在表格底部添加汇总值会改变数据表的结构,因此避免公式列问题的最简单方法是删除每列的公式。删除公式不会删除单元格值,而只会使它们成为静态值。
For(i=1,i<=NCol(dt),i++,
try(Column(dt,i)<<DELETE formula=""></DELETE>
<P>Try() 函数将避免尝试删除没有公式的列的公式时出现的任何问题。</P>
<P> </P>回复:计算每列中的值或单词的数量请记住,JMP 不是 Excel。列中的每个值都将遵循相同的格式,因此您不能在列底部显示累计总数。对于您的情况,您可以使用表变量。尝试将其设置为表脚本:
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
dt << Set Table Variable( (Column( dt, i ) << Get Name) || "OK", N Items( dt << Get Rows Where( Column( dt, i )[Row()] == "OK" ) ) )
);
当然,它必须运行才能保持最新状态,但它会让你的总数保持可见。

回复:计算每列中的值或单词的数量可能有更直接的方法可以做到这一点,但我认为这会起作用。创建一个 0,1 值的列,其中 1 表示正常。然后使用“表格摘要”给出 1 的总数。将其制作成数据表,然后将其与原始数据表连接(使列名匹配后)。