날짜 선택데이터 집합의 하위 집합을 만들려고 합니다.분석을 위해 시작 날짜와 종료 날짜 이외의 날짜를 선택한 다음 해당 날짜를 제외하고 싶습니다.왜 이것이 작동하지 않는지 잘 모르겠습니다. 쉬운 것 같습니다.숫자 형식 문제라고 생각합니까?
CalendarBox()의 날짜로 StartDate 및 EndDate가 있습니다.
:Date는 m/d/y 형식의 숫자 날짜가 포함된 열입니다.
나는 이것을 성공하지 못했습니다.
BegTime = dt<< Subset(All rows, Selected columns only( 0 ) );
BegTime << Select Where(:Date < Informat(StartDate) |:Date > Informat(EndDate))<<EXCLUDE></EXCLUDE>
열을 확인하기 위해 아래에서 시도했지만 결과를 얻지 못했습니다.단지 ".
BegTime <<NEW column=""></NEW>
Re: 날짜를 선택하세요.귀하의 문제는 StartDate와 EndDate가 숫자 날짜라고 생각하고 있다는 것입니다.코드를 구성한 방식으로 StartDate 및 EndDate는 개체에 대한 포인터입니다.개체에서 날짜 값을 추출하여 선택한 변수에 배치해야 합니다.또한 모달 창을 사용하면 선택할 날짜의 선택 범위 설정과 같은 처리가 실행되지 않습니다.그래서 그 제한도 없앴습니다.그래서 아래 스크립트의 로직을 따라가다 보면 모달창을 사용하지 않고 프로세싱 제어를 어떻게 처리하는지 알 수 있을 것입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Time Series\Raleigh Temps.jmp" );
dt << clear row states;
startNW = New Window( "Start Date of Data",
StartDate = Calendar Box(),
Button Box( "OK",
startNW << close window;
runEndDate;
)
);
StartDate << Max Date( Col Max( :name( "Month/Year" ) ) ) << Min Date( Col Min( :Name( "Month/Year" ) ) );
StartDate << Set Function( Function( {this, date}, theStartDate = StartDate << Get Date ) );
runEndDate = Expr(
endNW = New Window( "End Date of Data",
EndDate = Calendar Box(),
Button Box( "OK",
endNW << close window;
runSelect;
)
);
endDate << Max Date( Col Max( :name( "Month/Year" ) ) ) << Min Date( Col Min( :Name( "Month/Year" ) ) );
EndDate << Set Function( Function( {this, date}, theEndDate = endDate << Get Date ) );
);
runSelect = Expr(
dt << select where( :Name( "Month/Year" ) < theStartDate | :Name( "Month/Year" ) > theEndDate )
);Re: 날짜를 선택하세요.:날짜는 1904년 1월 1일부터의 초 단위 값입니다. "m/d/y" 형식을 제거하면 CalendarBox() 숫자와 비슷한 숫자가 됩니다.
그래도이 숫자를 서로 뺄 수는 없습니다.매우 혼란?
Re: 날짜를 선택하세요.예, 작동하지 않습니다. 내 :Date 값이 내 JMP 달력 상자() 값과 같지 않을 수 있습니까?
이것이 내가 계산하는 방법입니다 :Date
dt<< new column ("Date", numeric, continuous, format("m/d/y"), formula(
Date MDY(
Num( Substr( :TimeStamp, 1, 2 ) ),
Num( Substr( :TimeStamp, 4, 2 ) ),
Num( Substr( :TimeStamp, 7, 4 ) ) )
));
:TimeStamp는 01:28:2018::02:14:08:099 형식의 문자입니다.
StartDate 및 EndDate는 다음과 같습니다.
new window("Start Date of Data",<<MODAL></MODAL>Re: 날짜를 선택하세요.JMP 날짜 값(숫자 값, 1904년 1월 1일 이후의 초 수)인 날짜 데이터를 다루고 있다고 가정합니다.따라서 숫자 값이 아닌 다른 값으로 변환할 필요가 없습니다.따라서 아래가 작동해야합니다
BegTime = dt<< Subset(All rows, Selected columns only( 0 ) );
BegTime << Select Where(:Date < StartDate |:Date > EndDate)<<EXCLUDE></EXCLUDE>