동의합니다 julian 왜 그런 필요성이 있는지 이해하지 못하지만 대화식 으로이 작업을 수행 할 수있는 단계는 다음과 같습니다.
- 열 1의 모든 값을 붙여 넣기 버퍼에 복사하십시오.
- rowstate 열 (행 번호가있는 열)에서 행 중 하나를 마우스 오른쪽 단추로 클릭하고 "Add Rows"를 선택하십시오.
- 행 추가 대화 상자에서 끝에 추가 할 6 개의 행을 선택하십시오.
- 첫 번째 열의 헤더 옆에있는 빈 열 헤더로 이동하여 마우스 오른쪽 버튼을 클릭하고 "새 열"
- 새 열 대화 상자에서 6 개의 열을 추가하도록 지정하십시오.
- 열이 만들어지면 첫 번째 새 열의 두 번째 셀로 이동하여 붙여 넣기 버퍼의 값을 셀에 붙여 넣습니다. cell (row) 2에서 시작하는 모든 데이터를 복사합니다.
- 각각의 새 열에 대해 한 행 아래로 이동하여 새 열마다이를 반복하십시오.
이미 두 가지 좋은 솔루션 (및 솔루션으로 표시된 솔루션)이 있지만 사람들이 가끔 잊어 버리는 또 다른 빠른 대화식 방법도 있습니다. 원래 열을 선택하고 새 열 수식> 행> 지연 다중을 선택하여 열 머리글을 마우스 오른쪽 단추로 클릭하십시오. 대화 상자에서 첫 번째 지연을 1로, 마지막 지연을 6으로 입력하십시오.
안녕 W ,
아래는 그 일을하는 코드 (값 또는 열 수식 작성)이지만, 왜 이런 식으로 테이블을 만들어야합니까? 이전 열의 이전 행 값을 사용하여 행 단위로 일부 작업을 수행해야하는 경우 이러한 지연 열을 명시 적으로 만드는 것보다 더 효율적인 방법이 있습니다.
이 양식은 값을 씁니다.
dt = Open("$SAMPLE_DATA\Big Class.jmp");
baseCol = Column("height");
nCopies = 6;
For( i = 1, i <= nCopies, i++,
spacerMat = J( i, 1, . );
valuesMat = spacerMat |/ Eval( baseCol << Get Values );
New Column( "Copy " || char(i), Numeric, "Continuous", Set Values( valuesMat ) );
);
이 양식은 열 수식을 작성합니다.
dt = Open("$SAMPLE_DATA\Big Class.jmp");
baseCol = Column("height");
nCopies = 6;
For( i = 1, i <= nCopies, i++,
Eval(Substitute( Expr( New Column( "Copy " || Char( i ), Numeric, "Continuous", Formula( Lag( Subscript(xxCol,row()), i ) ) ) ), Expr( i ), i, expr(xxCol), baseCol ))
);
나는 이것이 당신이 시작하는 데 도움이되기를 바랍니다!
julian
// Edit 11/24/19 : 스크립트 시작시 정의 된 열을 열 수식으로 올바르게 대체하기 위해 열 수식 버전을 수정했습니다.
안녕하세요 JMP Community, 한 번에 열을 여러 번 열 수있는 솔루션을 찾고 있습니다 (아래 예제에서는 6 번을 선택했습니다). 만들어진? 도와 주셔서 감사합니다!