有没有一种简单的方法来创建计数变量我想使用变量 ID 和 use_yn (附加数据)创建新的计数变量。 如果特定 ID 的变量 use_yn 表示主体使用了该服务(例如主体 3 使用了服务两次,因为它的值为 1 两次)。 如果没有 JSL 也能做到这一点吗?
回复:有没有一种简单的方法来创建计数变量只是对一个非常简单的公式进行快速投票。
Col Number( :ID, :ID, :use_yn )
此列公式返回 :ID 和 :use_yn 相同的次数。
回复:有没有一种简单的方法来创建计数变量@tx尼尔森非常感谢您的回复。 这非常简单并且对我有用。 感谢你的帮助。
回复:有没有一种简单的方法来创建计数变量你好@比利
我已从所附数据表中的链接嵌入了这两种解决方案。
第一个使用具有以下公式的列 IDIndex: If( :ID != Lag( :ID, 1 ) | Row() == 1, 1, Lag(:IDIndex, 1 ) + 1
)
最后一列 IDCount 的公式为:Col Maximum(:IDIndex, :ID)
如果数据排序不正确,第二个选项也将保留。它使用列 IDIndex2 和公式: Sum( :ID[Index( 1, Row() )] == :ID )
以及 IDCount2 列,其公式为:Col Maximum(:IDIndex2, :ID)
请让我们知道什么最适合您。
罗恩
回复:有没有一种简单的方法来创建计数变量摘要平台可以满足您的需求。然后进行一些简单的操作和更新,您就会得到答案。
表格==>总结
选择 ID 和 use_yn 作为分组变量。
确保取消选择“链接到原始数据表:”,然后单击“确定”。
新数据表包含 ID 和 use_yn 的所有组合,而您只需要 use_yn = 1,因此,单击 use_yn 值为 1 的一个单元格。然后右键单击并选择
选择匹配的单元格
所有带有 use_yn 的行都被选中......但你想要的是相反的选择,所以你可以删除它们。
将光标移至选定的行之一,然后移至该行的 RowState 列。右键单击并选择反转选择。现在只需转到新选择的行之一,然后右键单击并选择删除行。现在您已获得所需的计数。
要将数据移回到原始数据表中,只需选择原始表并转到
表格==>更新
在对话框窗口中,选择您的汇总表作为要更新的表。
选择匹配列,然后选择 ID 和 use_yn 作为匹配单元格,然后单击确定。N 行列是您的计数
回复:有没有一种简单的方法来创建计数变量Ron 提供的链接中有几种有用的技术,但您需要进行一些修改。
这是我创建的用于进行计数的列公式(存储在名为“新计数”的列中)。 请注意,该公式调用自身。
If(
Row() == 1, :use_yn[1],
:ID[Row()] == :ID[Row() - 1], :New Count[Row() - 1] + :use_yn[Row()],
:ID[Row()] != :ID[Row() - 1], :use_yn[Row()],
0
)
我也附上了数据表。 请注意,如果“use_yn”中缺少值,则“新计数”将会丢失。 这是有道理的,因为如果您不知道某人是否“使用过 yn”,那么您也不会知道计数。
回复:有没有一种简单的方法来创建计数变量@ron_horne感谢您的快速回复。 我用了这个公式Sum( :ID[Index( 1, Row() )] == :ID ) 但我没有得到结果。 我使用公式的地方附有数据表。
回复:有没有一种简单的方法来创建计数变量你好@比利,
看看这个讨论。它有几个选项
https://community.jmp.com/t5/Discussions/Syntax-How-do-I-create-an-index-column-by-ID/mp/9751/highlight/true#M9537
让我们知道它是否有效
罗恩