안녕하세요 여러분,
두 개의 서로 다른 데이터 테이블이 있는데 다른 테이블에 해당 단어가 존재하는지 찾아 선택해야 합니다.
Contains()를 사용해 보았지만 작동하지 않습니다. 도와주세요
예는 다음과 같습니다.
dt1
dt2
| 개&고릴라 |
| 쥐, 기린 |
| 상어, 고래, 펭귄 |
| 타조와 새 |
| 사자&호랑이,소 |
결과(굵은 문자로 표시된 텍스트가 선택됨):
dt2
| 개&고릴라 |
| 쥐, 기린 |
| 상어, 고래, 펭귄 |
| 타조와 새 |
| 사자&호랑이,소 |
여기 당신이 찾고 있는 것을 할 수 있는 한 가지 방법이 있습니다. 결과를 표시하는 테이블에 행 3이 잘못 선택되어 있는 것 같습니다.
Names Default To Here( 1 );
// Create the tables
dt1 = New Table( "Lookup", Add Rows( 5 ), New Column( "key", Character, Set Values( {"dog", "cat", "fish", "bird", "cow"} ) ) );
dt2 = New Table( "Base",
Add Rows( 5 ),
New Column( "Target", Character, Set Values( {"dog&gorilla", "mouse, giraffe", "shark, whale, penguin", "ostrich&bird", "lion&tiger,cow"} ) )
);
// Place all key values into a list
KeyList = dt1:key << get values;
// Loop across the keys and search each row of Target for the
// match
For Each( {val}, keyList,
For Each Row(
If( Contains( :Target, val ),
Row State( Row() ) = Selected State( 1 )
)
)
);

후속 질문입니다. 선택한 행을 다른 테이블과 일치시키는 데 사용할 수 있습니까? 업데이트처럼요?
나는 당신의 질문을 이해하지 못합니다. 그러나 선택한 행만 포함하는 기본 테이블의 하위 집합을 쉽게 만든 다음 해당 테이블에서 다른 테이블을 업데이트할 수 있습니다. 하위 설정을 수행하는 JSL은 다음과 같습니다.
dt3 = dt2 << Subset( selected columns( 0 ), selected rows( 1 ) );