일치하는 행 찾기 및 삽입ColumnA와 ColumnB라는 두 개의 열이 있습니다. B열에 일치하는 값을 넣을 수 있나요? B열 값은 이 목록에 있습니다(여기에 스니펫 코드가 있습니다).
fileNames = Files In Directory( directory );
newlist = {};
For( i = 1, i <= N Items( fileNames ), i++,
Insert Into( newlist, fileNames[i] )
);
dt << New Column( "COlumn B", Character, Values( newlist ) );
| A열 | B열 |
| Apple.doc | |
| 오렌지.doc | 오렌지.doc |
| 포도.doc | 포도.doc |
| 딸기.doc | |
| 망고.doc | 망고.doc |
데이터 혼합 및 정리품질 및 프로세스 엔지니어링Re: 일치하는 행을 찾아 삽입하세요.이는 Name()을 대체한 것입니다(JMP16에서는 제 생각에는). 예를 들어 열 이름에 특정 특수 문자가 있는 경우 필요합니다. 여기에 이를 언급하는 도움말 기사가 있습니다(더 나은 기사가 있지만 빨리 찾을 수 없습니다). 스크립팅 가이드 > JSL 빌딩 블록 > JSL 구문 규칙 > 이름 .
JMP에서는 공백이 있어도 괜찮지만 열 이름에 있는 공백을 신뢰하지 않기 때문에 이 방법을 사용했습니다.
Re: 일치하는 행을 찾아 삽입하세요.응답해 주셔서 감사합니다. 잘 작동한다.
나는 단지 n이 무엇을 의미하는지 알고 싶습니다.
:"Column A"n
Re: 일치하는 행을 찾아 삽입하세요.옵션이 하나 더 있습니다. 해당 옵션과 매우 가깝습니다. @게오르그 제공
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column A",
Character,
"Nominal",
Set Values({"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"})
)
);
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column("Column B", Character, Nomimal,
<< Set Each Value(
If(Contains(newlist, :"Column A"n),
:"Column A"n
,
""
)
)
);Re: 일치하는 행을 찾아 삽입하세요.Jim의 Join Tables 외에도 이것은 또 다른 솔루션이 될 것입니다.
Names Default To Here( 1 );
// Prepare Table with Column A
dt = New Table( "Column A",
Add Rows( 5 ),
New Column( "Column A", Character, "Nominal", Set Values( {"Apple.doc", "Orange.doc", "Grapes.doc", "Strawberry.doc", "Mango.doc"} ) )
);
// Get the list
newlist = {"Orange.doc", "Grapes.doc", "Mango.doc"};
dt << New Column( "Column B", Character );
// Check each row if value is part of the list
For Each Row( dt, If( Contains( newlist, :"Column A"n ), :"Column B"n = :"Column A"n ) );
좀 더 명확하게 하기 위해 편집했습니다
Re: 일치하는 행을 찾아 삽입하세요.별도의 데이터 테이블에 B 열을 만든 다음 사용하십시오.
테이블=>조인
데이터 테이블 1의 A열과 데이터 테이블 2의 B열을 일치시켜 2개의 테이블을 병합합니다.