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")));자동화 및 스크립팅Re: JSL을 사용하여 값을 반복하지 않고 그룹당 한 번씩 열을 채웁니다.공식에 약간의 변화만 있으면 됩니다.
New Column( "overall result",
Formula(
If(
Col Cumulative Sum( 1, :Y ) > 1, "",
Col Sum( test result == "pass", :Y ) >= 2, "Pass",
"Fail"
)
)
);

Re: 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"
)
));