안녕하세요, 다양한 수의 고유 한 열 내용과 최종 출력이있는 데이터에 대한 테이블 조작 (주로 일치 수식이있는 새 열 추가)을 자동화하는 스크립트를 작성 중입니다.
: SampleID (Init_ID에 저장 됨)에서 고유 한 내용을 식별하는 스크립트를 작성하고 사용자에게 New_ID에 저장되는 팝업 창에서 이름을 바꾸도록 요청한 다음 표준 일치 수식으로 새 열을 만들 수 있습니다.
New Column( "Sample",
Character,
Nominal,
Formula(
Match( :SampleID,
"C1", "Constant 1",
"C2", "Constant 2",
Init_IDs[1], New_IDs[1],
Init_IDs[2], New_IDs[2],
Init_IDs[3], New_IDs[3],
Init_IDs[4], New_IDs[4],
Init_IDs[5], New_IDs[5],
Init_IDs[6], New_IDs[6],
)
)
);이 공식은 New_ID의 크기가 6 인 테스트 데이터 세트에서 작동하지만 변경 될 것이므로 For 루프를 사용하여 유연하게 만들고 싶습니다. 이것이 제가 시도했지만 작동하지 않습니다.
New Column( "Sample",
Character,
Nominal,
Formula(
Match( :SampleID,
"C1", "Constant 1",
"C2", "Constant 2",
) +
For( i = 1, i <= N Items( New_IDs ), i++,
Match( :SampleID,
Init_IDs[i], New_IDs[i],
)
)
),
);N Items (New_IDs)가 값 6을 생성하는지 확인했습니다. 다른 Match 수식과의 조합없이 For 루프 만 시도했지만 작동하지 않으므로 그 사이의 '+'가 궁극적으로 문제가 될 수 있지만 주요 문제는 내 for 루프 자체 인 것 같습니다.
또한 Match 수식 대신 If 문을 사용하여 단순화하려고 시도했지만 운이 없습니다.
New Column( "Sample",
Character,
Nominal,
Formula(
For( i = 1, i <= 6, i++,
If( :SampleID == Init_IDs[i],
New_IDs[i]
)
)
)
);