취소
다음에 대한 결과 표시 
표시  만  | 다음에 대한 검색 
다음을 의미합니까? 
언어 선택 변환 막대 숨기기
게시된 스레드 원본 보기

선택한 행 뒤에 행 추가

Pacco
Level III

안녕하세요 커뮤니티, 저는 jmp를 처음 사용하는데 데이터 세트 내에서 선택한 각 행 뒤에 1개의 행을 추가하는 스크립트를 만드는 데 문제가 있습니다. 어떤 아이디어가 있나요? 내 코드는 지금까지 다음과 같습니다.

 

dt=현재 데이터 테이블();
dt<< 행 추가(1,46030);

 

그러나 이는 물론 지정된 열 뒤에만 행을 추가합니다. 한 열의 특정 이름과 다른 열의 특정 값에 따라 행을 선택했습니다. 인접하지 않지만 그 사이에 선택되지 않은 행이 있는 선택된 모든 행 다음에 행을 자동으로 입력하려면 어떻게 해야 합니까?

 

도움을 주셔서 미리 감사드립니다!

 

 

 

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

2 채택된 솔루션

채택된 솔루션
txnelson
Super User

Re: 선택한 행 뒤에 행을 추가하세요.

삽입된 행은 선택한 행 번호를 변경하므로 아래 수정 사항은 @uday_guntupalli 실제로 원하는 결과를 얻으려면 스크립트를 작성해야 합니다.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );

dt << Select Randomly( 0.1 ); // Selecting rows randomly 

SR = dt << Get Selected Rows;  // Get list of selected rows 

For( i = 1, i <= N Rows( SR ), i++,
 dt << Add Rows( 1, SR[i] ); // Add 1 row after each selected row
 SR = dt << Get Selected Rows;
);
txnelson
Super User

Re: 선택한 행 뒤에 행을 추가하세요.

$SAMPLE_DATA

JMP의 특수 환경 변수입니다.OPEN() 함수의 구조는 다음과 같습니다.

Open( 파일 경로, , ,

아래의 Open용 스크립팅 인덱스를 참조하세요.

undefined

 

6 응답 6
uday_guntupalli
Level VIII

Re: 선택한 행 뒤에 행을 추가하세요.

@파코 ,
JMP 커뮤니티에 오신 것을 환영합니다.이것을 설명하고 문제를 해결해 보겠습니다. 행 추가 메시지는 행 수와 추가할 위치만 지정하므로 JMP는 함수에서 지시하는 작업을 실행합니다. 귀하의 필요에 맞게 확장하기 위해 다음을 시도해 볼 수 있습니다.

 

dt = Open( "$SAMPLE_DATA/Cities.jmp" );

dt << Select Randomly(0.1); // Selecting rows randomly 

SR = dt << Get Selected Rows;  // Get list of selected rows 

for(i = 1 , i <= N Rows(SR), i++,
  dt << Add Rows(1,SR[i]); // Add 1 row after each selected row
   );

이것이 귀하의 질문에 도움이 되기를 바랍니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 선택한 행 뒤에 행을 추가하세요.

삽입된 행은 선택한 행 번호를 변경하므로 아래 수정 사항은 @uday_guntupalli 실제로 원하는 결과를 얻으려면 스크립트를 작성해야 합니다.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );

dt << Select Randomly( 0.1 ); // Selecting rows randomly 

SR = dt << Get Selected Rows;  // Get list of selected rows 

For( i = 1, i <= N Rows( SR ), i++,
 dt << Add Rows( 1, SR[i] ); // Add 1 row after each selected row
 SR = dt << Get Selected Rows;
);

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Pacco
Level III

Re: 선택한 행 뒤에 행을 추가하세요.

정말 감사합니다. 이 스크립트는 저에게 완벽하게 작동합니다.

 

아직 내가 이해하지 못하는 유일한 것은 내가 왜

dt<< open("$...");

기능이 작동하지 않습니다. 저는 항상 dt<< CurrentDataTable();을 사용해야 합니다. 내 테이블이 이미 열려 있는 동안.

 

귀중한 정보에 다시 한번 감사드립니다!

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 선택한 행 뒤에 행을 추가하세요.

dt<< open("$...");

부정확하다.지정된 사용법은

dt = 열기(:$...");

샘플 데이터 테이블을 열고 "dt"라는 열린 데이터 테이블에 핸들을 할당합니다.

dt = 현재 데이터 테이블();

현재 활성 데이터 테이블에 대한 포인터/핸들을 "dt"에 할당한다는 점을 제외하면 Open() 함수와 동일한 작업을 수행합니다.

보다

도움말>스크립팅 색인

자세한 내용은

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Pacco
Level III

Re: 선택한 행 뒤에 행을 추가하세요.

빠른 답변에 감사드립니다. 그러나 귀하의 답변과 관련된 모든 변형을 시도했지만 여전히 다음 오류가 발생합니다.

예상치 못한 "$"입니다.
":" 연산자에 대한 피연산자를 구문 분석하는 중입니다.
1행 13열: dt = Open (:►$SMHI_Trend_IKEU_Profiler_merge_only 2

나는 다음과 같은 몇 가지 변형을 썼습니다.

dt = 공개(:$SMHI_Trend_IKEU_Profiler_merge_only 20년.jmp");

어떤 아이디어라도, 내가 뭘 잘못하고 있는 걸까요? (저는 이 분야에 있어 매우 초보자입니다. 죄송합니다)

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 선택한 행 뒤에 행을 추가하세요.

$SAMPLE_DATA

JMP의 특수 환경 변수입니다.OPEN() 함수의 구조는 다음과 같습니다.

Open( 파일 경로, , ,

아래의 Open용 스크립팅 인덱스를 참조하세요.

undefined

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.