사용자가 지정한 특정 단어가 포함된 열 이름을 얻는 방법은 무엇입니까?안녕,
관심 있는 특정 단어가 포함된 열을 얻는 것과 관련하여 조언을 찾고 있습니다.
예를 들어:
아래 제공된 샘플 데이터에서 "숫자"를 포함하는 열 이름을 가져오고 싶습니다. 반환되는 열 이름 목록은 {"Flight Number" , "Tail Number"}여야 합니다. 그러나 나는 아무것도 돌려받을 수 없습니다. 내 코드는 다음과 같습니다.
dt = open("$SAMPLE_DATA/Air Traffic.jmp");
a= "Number";
col=dt<<GET column="" names=""></GET>
어떤 도움이나 조언이라도 대단히 감사하겠습니다! 미리 감사드립니다!
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?아니요. 열 유형은 문자입니다.
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?이것은 원래 스레드와 상당히 다릅니다.새로운 주제를 만드는 것이 좋습니다.단계 열에 숫자 데이터 유형이 있습니까?
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?안녕,
비슷한 문제가 있습니다. 열에 2개의 문자열 중 하나가 포함되어 있는지 확인한 다음 열 값을 다른 열의 값으로 바꿔야 합니다.
코드는 다음과 같습니다.
For(i=1,i<= NRows(dt),i++,
if(contains(:step[i],"NA")| contains(:step[i],".") ,
:step[i] = description[i];
)
);
하지만 '포함'에 대한 액세스 또는 평가에서 인수가 잘못된 유형이라는 오류가 발생합니다.
내가 여기서 뭘 잘못하고 있니?
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 이안에게 다시 한 번 감사드립니다.
귀하의 솔루션은 매력처럼 작동합니다!
친애하는,
발
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?목록과 포함된 항목 유형(일반적으로 동종일 필요는 없음)을 구분해야 합니다. 이 오류는 문자 열의 셀에 목록 xxx(모두 문자인 항목 포함)를 넣으려고 하기 때문에 발생합니다.
이를 수행하는 가장 좋은 방법은 코드에서 다음에 발생하는 작업에 따라 다릅니다. 문자 열이 아닌 식 열로 'AvaliableColumns'를 사용하려는 것 같습니다.
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = {"Number", "Flight"};
col = dt << get column names( string );
nc = N Items( col );
dt1 = New Table( "Table1" );
c1 = (dt1 << New Column( "SelectedNames", character, set values( a ) )) << get values;
dt1 << New Column( "AvailableColumns", expression );
For( j = 1, j <= N Items( c1 ), j++,
xxx = {};
For( i = 1, i <= nc, i++,
If( Contains( col[i], a[j] ), InsertInto(xxx, col[i]) );
);
Column( dt1, 2 )[j] = xxx;
);
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?안녕 이안 이안@JMP ,
이전에 작업했던 것의 확장:
이전 질문과 동일한 데이터를 사용하여 데이터 테이블 "Air Traffic"의 사용 가능한 열에서 원하는 단어를 선택하여 데이터의 사용 가능한 열에 "에 있는 단어가 포함된 경우 아래와 같은 출력이 예상됩니다. 각각의 행에서 SelectedNames" 열:

그러나 로그에 이 오류 메시지가 표시되고 두 번째 열에 올바른 열 이름이 삽입되지 않았습니다.


이것이 제 코드입니다. 문제가 무엇인지 확인할 수 있도록 도와주실 수 있나요?
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = {"Number", "Flight"};
col = dt << get column names( string );
nc = N Items( col );
dt1 = New Table( "Table1" );
c1 = (dt1 << New Column( "SelectedNames", character, set values( a ) )) << get values;
dt1 << New Column( "AvailableColumns", character );
xxx={};
For( j = 1, j <= N Items( c1 ), j++,
For( i = 1, i <= nc, i++,
If( Contains( col[i], a[j] ),
Insert Into( xxx, col[i] )
);
Column( dt1, 2 )[j] = Eval( xxx );
xxx = {};
);
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?고마워요, 이안!
내가 찾고 있는 바로 그 솔루션입니다.
친애하는,
발
Re: 사용자가 지정한 특정 단어가 포함된 열 이름을 가져오는 방법은 무엇입니까?'col'이 목록임을 기억하십시오. 그러니 시도해보세요:
dt = Open( "$SAMPLE_DATA/Air Traffic.jmp" );
a = "Number";
col = dt << get column names( string );
nc = N Items( col );
xxx = {};
For( i = 1, i <= nc, i++,
If( Contains( col[i], a ),
Insert Into( xxx, col[i] )
)
);
인쇄 ( 트리플 엑스 ) ;