롤링 주여러분, 안녕하세요,
2019년 초부터 2023년 4월까지의 데이터가 포함된 데이터베이스가 있습니다.
다시 실행할 때 매주 2023년에 대한 새 데이터를 추가하는 스크립트를 만들었습니다.
이 파일이 너무 무거워지는 것을 방지하기 위해 주 초에 스크립트를 다시 시작할 때 롤링 주를 삭제할 수 있기를 바랍니다.
예를 들어 오늘 우리는 2023년 21주차(W21)에 있습니다. 오늘 스크립트를 실행하면 2019년의 S1을 삭제한 다음 2023년의 S21을 추가할 수 있습니다.
다음 주에 우리는 S22 2023에 있을 것입니다. 스크립트는 이 새로운 주를 추가할 것입니다. 동시에 2019년의 S2를 삭제할 수 있기를 바랍니다.
그러나 같은 주에 스크립트를 여러 번 실행하면 몇 주 연속으로 삭제되지 않아야 합니다.
예 : S21 2023에서 스크립트를 3번 실행하면 S1/S2/S3 2019가 아닌 S1 2019만 삭제됩니다(스크립트를 3번 실행했기 때문).
내 데이터베이스에 스크립트 개발에 유용한 "시작 날짜" 열이 있습니다. 아래는 칼럼의 개요입니다.

당신의 도움을 주셔서 감사합니다
데이터 접근데이터 혼합 및 정리Re: 세마인 글리상테업데이트된 데이터 테이블의 목적을 모르므로 이 제안이 도움이 되지 않을 수 있습니다. 행을 삭제하는 대신 수식 열에서 또는 스크립트를 사용하여 제외된 행에 대한 롤링 행 상태를 계산할 수 있습니다. 데이터 테이블이 너무 무거워지는 것을 피하고 싶다고 하셨으므로 이 접근 방식은 귀하의 목적에 적합하지 않을 수 있습니다.
Re: 롤링 위크데이터 테이블의 무게를 줄이기 위해 내 목표는 새 데이터를 추가하는 반면 "이전" 데이터는 삭제하는 것입니다. 이렇게 하면 데이터 테이블이 파일 크기와 균형을 이룰 수 있습니다.
첫 번째 게시물에서 말한 대로 스크립트를 작성하고 싶습니다.
Re: 세마인 글리상테데이터베이스에서 JMPM 데이터 테이블로 데이터를 추출하고 있습니까? 그렇다면 WHERE 절을 사용하여 기간을 지정할 수 있습니다.
Re: 세마인 글리상테날짜 증분 기능을 사용해 보십시오. 이 예에서 날짜 증분은 과거 230주를 계산하고 해당 주의 첫째 날(일요일)의 날짜를 반환합니다. 그런 다음 시작 날짜가 해당 날짜 이전인 모든 행을 선택하고 삭제합니다. 스크립트를 실행하는 한 주 내에서 날짜 증가에 의해 반환된 날짜는 동일하므로 원치 않는 데이터 삭제를 트리거하지 않고 데이터 테이블을 일주일에 여러 번 업데이트할 수 있습니다.
Names Default to Here( 1 );
deleteDate = Date Increment( Today(), "Week", -230, "start" );
Data Table( "Rolling Week.jmp" ) << Select Where( :Start Date < deleteDate );
Data Table( "Rolling Week.jmp" ) << Delete Rows;