如何在条件语句中获取一行的 Col Sum?大家好,
我有一列需要过滤掉一些值以获得列的总和(使用 Col Sum)。是否可以根据条件得到col sum?例如,每个 0 代码将被排除在计算之外:
| 代码 | 数量 | 总数 | 总计 %(列总(数量)/总计数) |
| 0 | 50 | 250 | - |
| 0 | 25 | 250 | - |
| 1 | 60 | 250 | 205/250×100= 82% |
| 6 | 67 | 250 | 205/250×100= 82% |
| 3 | 78 | 250 | 205/250×100= 82% |
我尝试使用 If 语句,但使用 Col Sum 公式时仍然包含 0 值的代码
自动化和脚本编写回复:如何在条件语句中获取一行的 Col Sum?嗨@UserID16644
JMP 中的条件公式有点棘手。
正如@jthi提到的,你需要 2 个 IF。
您还可以添加公式列,如下所示;
-如果代码不为 0,则添加第一个 IF = 列总和

-添加第二个 IF = 仅当代码不为 0 时才显示结果

结果:

JSL 脚本(参考工作流构建器/日志)
Names Default To Here( 1 );
//Change column info: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):Column 4 << Set Name( "Total % (Col Sum Qty/Total Count)" )
<< Set Formula(
If( !:Code == 0,
Col Sum( If( !:Code == 0, :Qty, . ) ) / :Total Count
)
);
//Change column format: Total % (Col Sum Qty/Total Count)
Data Table( "dt1" ):"Total % (Col Sum Qty/Total Count)"n <<
Format( "Percent", 12, 2 );
回复:如何在条件语句中获取一行的 Col Sum?您需要两个 if 语句,一个用于避免将值写入 Code = 0 行,另一个用于执行计算
If(Code != 0,
Col Sum(If(:Code == 0, ., :Qty))
,
.
);

回复:如何在条件语句中获取某一行的 Col Sum?也许我错过了你所问的问题,但这可能会用一个简单的 Col Sum() 来完成你想要的事情:
Col Sum( (:Code > 0) * :Qty, :Code > 0 )
“:Code > 0” 取决于它是否为零,变为 0 或 1,乘以 Qty 即可得出您要查找的数字,然后将 :Code >0 的情况与 Code == 0 的情况分组分开。