확인란의 값을 지정된 열의 마지막 행으로 보냅니다.사용자가 차트에서 한 지점을 선택합니다. 그런 다음 사용자가 모달 확인란 "시작"또는 "끝내기"에서 옵션을 선택하는 위치에서 스크립트가 실행됩니다. 스크립트는 선택된 데이터 행을 다른 테이블 dt2에 복사합니다. 이 부분은 잘 작동합니다. 나는 연결 문으로 방금 추가 된 동일한 행에 대해 "위치"라는 열에 확인란에 선택된 값을 추가하는 것처럼 보이지 않습니다.
//Modal (non-Modal) Retrieval in OK button
//Initialize
cycleList = {"start", "end"};
rb_c = 0;
New Window( "Select start/end", <<MODAL></MODAL>
Re : 지정된 열의 마지막 행에 확인란의 값 보내기안녕 이안,
이 잘 작동합니다! 고맙습니다. 이 스크립트는 사이클 데이터 포인트의 시작과 끝을 전사하는 시간과 시간을 절약합니다.
건배!
Re : 지정된 열의 마지막 행에 확인란의 값 보내기루프를 사용하여 JMP 13 종속성을 피할 수 있습니다.
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// UI
win = NewWindow("Select Cycles",
rc = dt << Control Chart(
Sample Size( 1 ),
KSigma( 3 ),
Chart Col( :height, Run Chart( Show Center Line( 0 ) ) )
),
PanelBox("Define Cycle",
LineUpBox(NCol(2),
ButtonBox("Start Cycle", startScript),
ButtonBox("End Cysle", endScript)
)
)
);
// Make a copy of 'dt' with no rows
dt2 = Eval(dt << getScript);
dt2 << deleteRows(1::NRow(dt));
dt2 << setName((dt << getName)||" - Cycles");
// Add extra columns
dt2 << NewColumn("Row", Numeric, Ordinal);
dt2 << NewColumn("Cycle", Character);
// When 'Start Cycle' is pressed - If multiple rows are selected, take the first
startScript =
Expr(
r = dt << getSelectedRows;
dt2 << addRows(1);
for(c=1, c<=NCol(dt), c++, Column(dt2, c)[NRow(dt2)] = Column(dt, c)[r[1]]);
Column(dt2, "Row")[NRow(dt2)] = r[1];
Column(dt2, "Cycle")[NRow(dt2)] = "Start";
);
// When 'End Cycle' is pressed - If multiple rows are selected, take the first
endScript =
Expr(
r = dt << getSelectedRows;
dt2 << addRows(1);
for(c=1, c<=NCol(dt), c++, Column(dt2, c)[NRow(dt2)] = Column(dt, c)[r[1]]);
Column(dt2, "Row")[NRow(dt2)] = r[1];
Column(dt2, "Cycle")[NRow(dt2)] = "End";
);
'사용자가 여러 행을 선택하지 않을 것입니다.'에 대해서는 올바르게 이해했다면 가능할 수도 있습니다. . .
Re : 지정된 열의 마지막 행에 확인란의 값 보내기안녕 이안,
JMP 11 사용. 사용자는 단일 데이터 지점을 선택하는 차트가 표시되고, 스크립트를 실행하여 해당 지점이주기의 시작 또는 끝인지 여부를 정의합니다. 그 행이 "시작"인지 "끝"인지를 정의하는 새로운 열 "위치"를 가진 다른 테이블에 저장된 전체 데이터 행이 필요합니다. 사용자가 여러 행을 선택하지 않습니다. 시간에 따른 체중 감소를 보여주는 샘플 "차트 2"가 첨부되어 있습니다. 이 코드는 사용자가 선택한 행을 복사하여 저장하지만 사용자의 선택 (시작 또는 끝)을 트랩하여 그 값을 해당 행의 "위치"열에 저장할 수 없습니다.
건배
Re : 지정된 열의 마지막 행에 확인란의 값 보내기코드가 실행되지 않아 빌드 할 수있는 대안을 제공합니다 (테이블 첨자로 인해 JMP 13 필요).
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// UI
win = NewWindow("Select Cycles",
rc = dt << Control Chart(
Sample Size( 1 ),
KSigma( 3 ),
Chart Col( :height, Run Chart( Show Center Line( 0 ) ) )
),
PanelBox("Define Cycle",
LineUpBox(NCol(2),
ButtonBox("Start Cycle", startScript),
ButtonBox("End Cysle", endScript)
)
)
);
// Make a copy of 'dt' with no rows
dt2 = Eval(dt << getScript);
dt2 << deleteRows(1::NRow(dt));
dt2 << setName((dt << getName)||" - Cycles");
// Add extra columns
dt2 << NewColumn("Row", Numeric, Ordinal);
dt2 << NewColumn("Cycle", Character);
// When 'Start Cycle' is pressed - If multiple rows are selected, take the first
startScript =
Expr(
r = dt << getSelectedRows;
dt2 << addRows(1);
dt2[NRow(dt2), 1::NCol(dt)] = dt[r[1],0];
dt2[NRow(dt2), "Row"] = r[1];
dt2[NRow(dt2), "Cycle"] = "Start";
);
// When 'End Cycle' is pressed - If multiple rows are selected, take the first
endScript =
Expr(
r = dt << getSelectedRows;
dt2 << addRows(1);
dt2[NRow(dt2), 1::NCol(dt)] = dt[r[1],0];
dt2[NRow(dt2), "Row"] = r[1];
dt2[NRow(dt2), "Cycle"] = "End";
);
아마도 당신은 당신이했던 것처럼 디자인 할 좋은 이유가 있었지만, 시작과 끝을 정의하는 것은 범위를 정의하는 것 (즉, 전체주기)보다 복잡하고 오류가 발생하는 것처럼 보입니다.