안녕하세요 - 조건에 따라 가장 최근 행을 찾고 다른 열 값을 검색하는 수식을 입력하고 두 행 매개변수(DateTime) 간에 계산을 수행하는 데 도움이 필요합니다.
아래 데이터 테이블(또한 첨부됨)에는 Asset, DateTime, Discrete 및 Action 열이 있습니다.
데이터는 자산을 기준으로 먼저 정렬된 다음 DateTime(오름차순)을 기준으로 정렬됩니다.
테이블 변수 days_threshold = 4도 있습니다.
Action(Desired)은 현재 수식이 있는 Action의 원하는 형식입니다.

수정해야 합니다.
다음을 얻는 모든 행 이산 = 1(일반적으로 여기에서 건너뛴 수식 규칙에 의해 결정되고 대신 샘플 값이 제공됨) , 동작 자신의 이전 행을 찾기 시작해야 합니다( 날짜 시간 내림차순). 해당 검색의 두 가지 조건은 다음과 같습니다.
1- 같은 것을 찾고 유산 무엇을 위해 이산 =1(즉, XY01 또는 XY02)
2- 가장 최근 값까지 확인 액션 = 1 가 발견됩니다.
마지막 작업이 현재 행의 DateTime과 비교하여 1이었던 시간 사이의 일 수를 계산합니다.
차이(일) >= days_threshold = 4 --->이면 현재 행의 작업 = 1
그렇지 않으면 차이(일) < days_threshold --->이면 현재 행의 작업 = 0
Action이 "1"인 가장 최근 시간을 찾는 데만 관심이 있습니다... 해당 단일 값이 발견되면(존재하는 경우) 해당 지점에서 검색을 중지할 수 있습니다. 검색 제한은 해당 자산(즉, 가장 오래된 레코드)이 처음 나타날 때까지입니다. 이전에 Action이 "1"로 설정되지 않은 경우 현재 행의 Action을 "1"로 설정할 수 있습니다.
예를 들어, 행 2는 XY01이 Action =1을 얻는 첫 번째 시간입니다(이 예에서는 w/ 값만 표시하는 일부 규칙에 자체적으로 연결되어 있는 Discrete 기반).
next 행 3에서 Discrete는 다시 1로 설정되지만 이번에는 이전 행과 현재 행 간의 일수가 0(< days_threshold)이므로 Action이 0이어야 합니다.
마찬가지로 행 5의 경우 Action은 마지막으로 Action이 1이었던 때로부터 3일이 경과했기 때문에 여전히 0으로 유지됩니다.
마지막으로 Action은 행 6에서 "1"로 설정됩니다.
이 아이디어에 따라 두 개의 자산을 제공했습니다. 원하는 값을 Action(Desired)으로 설정합니다.
나는 이것을 스크립트보다 공식으로 사용하는 것을 선호합니다.
미리 JMP 팀에 감사드립니다.
알투그 바이람
