나는 다른 사람들을 위해 두 개의 다른 데이트를 가지고 있습니다. 첫 번째 열(A)은 사람 이름입니다. 두 번째 열은 (B=지수 사건 날짜)이고 세 번째 열은 (C=개입 날짜)입니다. 네 번째 열은 두 날짜 "BC/ in days(1)" 간의 차이(D)입니다.
내 질문은 JMP가 각 사람(A)에 대해 D의 특정 값을 선택하도록 하는 방법입니다. 다음 기간에 따라 값을 선택해야 합니다.
1- 지수 이벤트 날짜(B) 이전에 D에서 가장 가까운 값입니다. 한 사람이 다음과 같은 날짜 차이 값을 가지고 있다고 가정해 보겠습니다. 0, -1, -10. 이 경우에는 0을 원합니다
2- A 이후 2주 이내에(0일부터 최대 14일까지) D의 첫 번째 값입니다. 한 사람이 2, 8, 14를 가지고 있다고 가정해 보겠습니다. 저는 2를 원합니다.
3- A로부터 2주 후(15일 이상) D의 첫 번째 값 한 사람이 17, 25, 35를 가지고 있다고 가정해 보겠습니다. 저는 17을 원합니다.
안녕,
Jed가 언급했듯이 더 많은 맥락이 더 좋지만 원하는 것이 무엇인지 알 것 같습니다.
(1)의 경우 최대값이지만 0보다 작거나 같은 차이에서만 가능합니다.
(2)의 경우 최소값이지만 0과 14 사이의 차이만 포함됩니다.
(3)의 경우 최소값이지만 차이가 15 이상인 경우에만 해당됩니다.
이것이 원하는 경우 각 경우에 동일한 아이디어를 사용할 수 있습니다.
1) 누락하고 싶지 않은 데이터를 동적으로 설정한 다음
2) 누락된 데이터를 무시하면서 데이터의 최대값 또는 최소값을 계산합니다.
아래 코드에서 각 수식은 동일한 구조를 갖습니다.
열 < > ( 만약 ( 데이터를 무시하고 누락되게 만들고, 그렇지 않으면 원본 데이터를 사용하고 싶습니다), < > ).
그렇다면 어떤 데이터를 무시하고 싶습니까?
(1)의 경우 :diff > 0... 0보다 큰 차이입니다.
(2)의 경우는 ! ( 0 <= :diff <= 14)... 0과 14 사이를 제외한 모든 차이
(3)의 경우 :diff < 15... 15보다 작은 차이
코드를 실행하면 아래와 같은 표를 볼 수 있습니다. 내 코드에서 그룹화 열은 "사람" 열입니다... 그리고 귀하의 설명에서 관심 있는 열인 것처럼 차이점을 시뮬레이션했습니다.
건배,
브래디
Names Default To Here( 1 );
nr = 50;
dt = New Table( "ex",
New Column( "Person", character, <<SET values=""> 0, ., :diff ), :Person ) ) ); dt << New Column( "form_2", form( Col Min( If( !(0 <= :diff <= 14), ., :diff ), :Person ) ) ); dt << 새 열( "form_3", 공식( Col Min( If( :diff < 15, ., :diff ), :Person ) ) );</SET>

이를 더 명확하게 하기 위해 샘플 데이터 표를 공유해 주실 수 있나요? 테이블...익명화 기능을 사용하면 PII 또는 독점 정보를 공유할 수 없는 경우 공유하기가 더 쉬워집니다.