如何编写一个公式来计算未被排除的行数?我正在尝试编写一个简单的公式来计算我的数据表中未排除的行数。我希望当我使用图形生成器更改行状态时更新总数。在公式的另一部分,我能够成功使用 Excluded () 函数,例如
X = 列总和(:MG1_2520_LH_Setting,Excluded());
但是,我使用 N Rows() 来计算总行数,并且不知道如何修改此函数以仅计算未排除的行数。
自动化和脚本回复:如何编写一个公式来计算未排除的行数?你好,
我有一个丑陋但可用的解决方案:创建一个填充值 = 1 的虚拟列,然后使用您在 JSL 中显示的公式:
Col Sum(:Dummy, Excluded())
可能存在更优雅的解决方案,因此您可能需要等待接受该解决方案。
最好的,
TS
回复:如何编写一个公式来计算未排除的行数?您不能在“普通” JSL 代码中使用 Col sum 将结果分配给变量。
这是一个很酷的聚合函数,可以在列公式中使用。
Col Sum 汇总列中的各个条目 - 正如@Thierry_S所指出的,您需要一个包含 1 的列来计算行数。但实际上,您不需要真正的列,您也可以指定“1”来代替列。
如果您只想计算未被排除的行,请使用:
New Column( "non excluded",Formula( Col Number( If( !Excluded(), 1 ) ) ))
复杂的语法是必要的,因为默认情况下 Col ...聚合不尊重排除状态 - 它使用列的所有值,因此计算所有行。
回复:如何编写一个公式来计算未排除的行数?JMP 中还有其他方法可以自动考虑哪些行被排除以及哪些行不被排除。
如果您不需要新列而只需要一个值,则可以使用带有转换列的摘要表:
Summary( N( Transform Column( "one", Formula( !Excluded() ) ) ));
如果您需要通过 JSL 进一步处理该值, Summarize提供了一个简单的替代方法:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Rows( 5::12 ) <<EXCLUDE></EXCLUDE>
回复:如何编写一个公式来计算未排除的行数?我能够使用下面的代码来实现我需要的功能。其他解决方案也有效,但对我来说这是最容易实现的。谢谢!
Col Number( If( !Excluded(), 1 ) )