使用 JSL 每组填充一次列,不重复值你好!
所以我有下面的数据表。各个测试结果位于“测试结果”列中,并指示相应的 y 是否通过测试 a、b 和 c。如果 2 个或更多测试(a、b、c)通过,则“总体结果”列指示“通过”。
我能够用公式计算总体结果,但我想做的是获取一个列表,其中显示每个 Y 变量一次的结果 - 即总体结果=“通过,失败,通过”,就像理想的总体结果一样。有任何想法吗??

dt 代码:
dt = New Table( "example",
Add Rows( 0 ),
New Column( "Y", character ),
New Column( "test",character ),
New Column( "test result",character )
)
:Y << set values( {var1,var1,var1,var2,var2,var2,var3,var3,var3});
:test << set values( {a,b,c,a,b,c,a,b,c});
:test result<< set values( {pass,pass,fail,fail,pass,fail,pass,pass,pass});
new column("overall result",Formula(if(col sum(test result=="pass",Y)>=2, "Pass", "Fail")));自动化和脚本编写回复:使用 JSL 每组填充一次列而不重复值只需要对你的公式做一点小小的改变。
New Column( "overall result",
Formula(
If(
Col Cumulative Sum( 1, :Y ) > 1, "",
Col Sum( test result == "pass", :Y ) >= 2, "Pass",
"Fail"
)
)
);

回复:使用 JSL 每组填充一次列而不重复值附加选项(我通常使用 Row() == Col Min(Row()) 或 Row() == Col Max(Row()) 进行这些类型的“移位”)。
Names Default To Here(1);
dt = New Table("example 4",
Add Rows(9),
Compress File When Saved(1),
New Column("Y", Character, "Nominal", Set Values({"var1", "var1", "var1", "var2", "var2", "var2", "var3", "var3", "var3"})),
New Column("test", Character, "Nominal", Set Values({"a", "b", "c", "a", "b", "c", "a", "b", "c"})),
New Column("test result", Character, "Nominal", Set Values({"pass", "pass", "fail", "fail", "pass", "fail", "pass", "pass", "pass"}))
);
dt << New Column("Res", Character, Nominal, Formula(
If(Row() != Col Min(Row(), :Y),
"" // not first row fir Y group
, Col Sum(:test result == "pass", :Y) >= 2,
"pass"
, // else
"fail"
)
));