计算每列中的值或单词数我有一个数据集,我想计算“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
自动化和脚本编写回复:计算每列中的值或单词数可能有一种更直接的方法可以做到这一点,但我认为这会起作用。创建一列 0,1 值,其中 1 表示正常。然后使用 Table Summary 给出 1 的总数。将其放入数据表中,然后与原始数据表连接(在使列名匹配后)。
回复:计算每列中的值或单词数请记住,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" ) ) )
);
当然,它必须运行才能保持最新状态,但它会让您的总数保持可见。

回复:计算每列中的值或单词数由于您要通过在表底部添加汇总值来更改数据表的结构,因此避免公式列问题的最简单方法是删除每列的公式。公式删除不会删除单元格值,而只会使它们成为静态值。
For(i=1,i<=NCol(dt),i++,
try(Column(dt,i)<<DELETE formula=""></DELETE>
<P>Try() 函数将避免尝试删除没有公式的列的公式时出现的任何问题。</P>
<P> </P>