근무 주 번호를 연결하여 근무 X에서 Y까지 해당하는 누적 수량 합계를 나타냅니다.세 개의 열이있는 데이터 테이블이 있습니다. 첫 번째 열은 'workweek'입니다. 두 번째 열은 '수량'입니다. 세 번째 열은 'Cum_Qty'입니다.
'Cum_Qty'열에서 값은 => 500을 충족 할 때까지 'Qty'열의 이전 행 값의 지속적인 합계입니다.
행 qty가 => 500 in이면 값은 'cum_Qty'에서와 같이 업데이트됩니다.
Qty => 500을 충족하기 위해 해당 'Cum_Qty'가 근무 주 X에서 근무 주 Y까지의 합계임을 나타 내기 위해 근무 주 번호를 연결하는 새 열 ( 'Cum_WW')을 만드는 JSL 스크립트를 작성하는 데 도움이 필요합니다. 그 후 일부 행을 삭제하십시오.
자세한 사항은 아래 첨부 파일 및 설명을 참조하십시오.
예 :
작업 주 2에서 수량은 'Qty'열에서 633 (> 500), qty는 'Cum_Qty'(이전 행 값의 합계 없음)에서 633이며, 'Cum_WW'는 작업 주를 나타냅니다. 2 .
작업 주 3에서 수량은 185 (<500)이고 합계 185 (작업 주 3) + 633 (작업 주 2) = 818,이 값은 'Cum_Qty'열에서 업데이트되며 'Cum_WW'는 작업 주를 나타냅니다. 2_3 .
작업 주 4에서 수량은 130 (<500)이고 합계는 130 (작업 주 4) + 185 (작업 주 3) + 633 (작업 주 2) = 948이며이 값은 'çum_Qty'열의 ' Cum_WW '는 근무 주를 나타냅니다. 2_4 .
작업 주 5에서 수량은 90 (<500)이고, 합계는 90 (작업 주 5) + 130 (작업 주 4) + 185 (작업 주 3) + 633 (작업 주 2) = 1038입니다. 'Cum_WW'의 'Cum_Qty'열은 근무 주를 나타냅니다. 2_5 .
등등......
그 후 'Cum_WW'에서 행 삭제 2 , 2_3 , 2_4 'Cum_WW'에서 데이터 행 유지 2_5 ….등등….
당신의 도움을 주셔서 감사합니다.
스크립팅Re : 근무 주 숫자를 연결하여 근무 X에서 Y까지의 해당 누적 수량 합계를 나타냅니다.다음은이 문제를 해결하기 위해 대화 형 JMP를 사용하여 수행 할 수있는 단계를 따르는 스크립트입니다. JMP에서 효과적으로 스크립트를 생성 할 수 있으려면 JMP가 대화식으로 수행 할 수있는 작업을 잘 이해해야합니다. 좋은 스크립트는 대화 형 JMP의 내장 기능을 활용합니다. JMP에 대해 자세히 알아 보려면 JMP 문서 읽기, JMP 발견 및 JMP 사용을 통해 좋은 출발점을 찾을 수 있습니다. JMP 문서 라이브러리에서 찾을 수 있습니다.
Help => JMP 문서 라이브러리
다음은 원하는 작업을 수행하는 스크립트입니다. Qty 및 Cum_WW의 2 개 열로 시작한다고 가정합니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Cum_Qty",
formula(
If( Row() == 1, x = 0 );
If( :Qty > 500,
x = :Qty,
x = x + :Qty
);
x;
)
);
// Turn formula columns into static values
dt:Cum_Qty << delete formula;
dt << New Column( "WW", formula( Word( 1, :Cum_WW, "_" ) ) );
// Create a new column that is a numeric version of the Cum_WW
dt << New Column( "Cum_WW_Num",
formula(
Sum(
Num( Word( 1, :Cum_WW, "_" ) ),
Num( Word( 2, :Cum_WW, "_" ) ) * .1
)
)
);
dt << select where( :WW == "" );
dt << delete rows;
dt << New Column( "select",
Formula(
If( :Cum_WW_Num != Col Max( :Cum_WW_Num, :WW ),
Row State( Row() ) = Selected State( 1 )
)
)
);
dt << delete columns( {"WW", "Cum_WW_Num", "select"} );
dt << delete rows;
해결책을 찾기 위해 사용 된 다양한 항목을 이해할 수 있도록 대본을 연구하십시오. 질문이있는 경우이 게시물에 회신 해 주시면 이해를 돕겠습니다.