안녕하세요, 테스트 컬럼을 만들고 싶습니다.

다음 스크립트에서:
dt11 = current data table();<BR />
// Choisir colonnes commençant par employes
dur_cols = Filter Each( {col_name}, dt11 << Get Column Names( "String", Nominal ),
Starts With( col_name, "employes " )
);
// Nouvelle colonne
dt11 << New Column( "TEST EMPLOYES", Numeric, "Continuous", Format( "Best", 12 ) );
// Modifier la formule de colonne : TEST EMPLOYES
dt11:TEST EMPLOYES <<
Set Formula(
For( i = 1, i < n items(dur_cols), i++,
If(
(dur_cols[i] == dur_cols[i+1] | Is Missing( dur_cols[i+1] )),
:TEST EMPLOYES = 1
,
:TEST EMPLOYES = 0
)
)
);목표는 if 루프의 조건에 따라 테스트 직원 열에 0 또는 1이 포함되도록 하는 것입니다. 지금은 0 또는 1 값으로 테스트 직원 열을 만들 수 없습니다.
도움을 주셔서 감사합니다
직원 열에서 시작해서, "611 - 2000 - 300"처럼 여러 필드가 채워져 있고, 3개 이상의 필드가 채워질 수 있습니다.
내 스크립트에서는 이 열을 구분 기호 "-"로 분할했기 때문에 첫 번째 "employe" 열의 필드 수만큼 "employe..." 열이 생깁니다.
조건 TEST EMPLOYE = 1 :
생성된 모든 직원 열이 동일하거나 값이 누락되었습니다.
조건 TEST EMPLOYE = 0 :
직원 열에 다른 데이터가 생성됨(열이 비어 있는 경우는 고려하지 않음)
예시 1:
직원 칼럼 1:300
직원 칼럼 2: 300
직원 칼럼 3: 500
테스트 직원 = 0
예시 2:
직원 칼럼 1:300
직원 칼럼 2: 300
직원 칼럼 3:
테스트 직원 = 1
원래 열에서 계산을 하는 것이 가장 쉬울 것입니다.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column",
Character,
"Nominal",
Set Values({"1-1-3", "2-2-2", "3-3", ""})
),
New Column("Column 1", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"3", "2", "", ""}))
);
dt << New Column("R", Numeric, Nominal, Formula(
res = Associative Array(Words(:Column , "-")) << get keys;
Remove From(res, Contains(res, "")); // remove missing value
N Items(res) == 1;
));

완전히 누락된 행을 어떻게 고려해야 하는지 확실하지 않습니다. 이 경우 0으로 처리되지만 최종 비교를 수정하여 1로 변경할 수 있습니다.