data result; 
    actual_dt = "23MAY16:07:21:00"dt; 
    visit_date = datepart(actual_dt); 
    visit_time = timepart(actual_dt); 

    format visit_date ddmmyy10. visit_time time8.; ***numeric format *** ;
run; 

문자형태로 바꿀려면..  vstm =  put(timepart(VSDTC1),time8.) ;


숫자(날짜) 와 숫자(시간)합치기(concatenating two separate fields (date and time) into one datetime )

                       : newdtm=dhms(date, 0,0,time);

문자를 숫자시간으로 

   

data ae2 ;    set ae1 ;

 **start date ** ;

 AESTDTC_RAW1 = input(AESTDTC_RAW, yymmdd10.) ;

 format AESTDTC_RAW1 date10. ;

 AESTTM1 = input(AESTTM,  time8.) ;

sttm = dhms(AESTDTC_RAW1, 0,0, AESTTM1) ;


** End date ** ;

AEENDTC_RAW1 = input(AEENDTC_RAW, yymmdd10.) ;

 format AEENDTC_RAW1 date10. ;

 AEENTM1 = input(AEENTM,  time8.) ;

edtm = dhms(AEENDTC_RAW1, 0,0, AEENTM1) ;


duration = (edtm - sttm)/24/60/2.5 ; /* */

RUN;


ata want; 
  attrib newdate format=datetime25.;
  date="01jan2016"d;
  time=input("9:10:07",time8.);
  newdate=input(catx("T",put(date,date9.),put(time,time8.)),datetime.);
  if datepart(newdate)=date then chk1=1;
  if timepart(newdate)=time then chk2=1;
run;
AS StatementResults
 
----+----1----+
put day mmddyy2.;
10
put day mmddyy3.; 
 10
put day mmddyy4.; 
1025
put day mmddyy5.;
10/25
put day mmddyy6.; 
102505
put day mmddyy7.;
 102505
put day mmddyy8.; 
10/25/05
put day mmddyy10.; 
10/25/2005



참고



/*

data ae4 ;

set ae3  ;

duration = put(duration, 7.1);

date_start = datepart(AESTDAT) ;

format date_start date9.; 

informat date_start date9.; 


rand_code = input(substr(rand_id,2,3),10.) ;

period_a1s = input('07APR2018',date9.) ; ****1기 2기 시작 및 종료 날짜 ***;

period_a1e =  input('20APR2018',date9.) ;

period_a2s = input('21APR2018',date9.) ;

period_a2e =  input('01MAY2018',date9.) ;

period_b1s = input('14APR2018',date9.) ;

period_b1e =  input('27APR2018',date9.) ;

period_b2s = input('28APR2018',date9.) ;

period_b2e =  input('09MAY2018',date9.) ;


if ((rand_code <27) and ((period_a1s=<date_start) and (period_a1e=>date_start))) then do ; period = 1; end ;

if ((rand_code <27) and ((period_a2s=<date_start) and (period_a2e=>date_start))) then do ; period = 2; end ;

if ((rand_code >26) and ((period_b1s=<date_start) and (period_b1e=>date_start))) then do ; period = 1; end ;

if ((rand_code >26) and ((period_b2s=<date_start) and (period_b2e=>date_start))) then do ; period = 2; end ;


if ((seq = 1) and (period = 1)) then do ; trt = "R" ; end ;

if ((seq = 1) and (period = 2)) then do ; trt = "T" ;end ;

if ((seq = 2) and (period = 1)) then do ; trt = "T" ; end ;

if ((seq = 2) and (period = 2)) then do ; trt = "R" ;end ;

run;

 */

'통계 clinical trial > SAS' 카테고리의 다른 글

엑셀 파일 만들기 (ODS EXCEL)  (0) 2018.11.02
SAS에서 excel 파일 불러오기 (PROC IMPORT)  (0) 2018.11.02
P-value 집어넣기  (0) 2018.11.01
반올림 버림  (0) 2018.11.01
숫자->문자, 문자->숫자  (0) 2018.11.01
블로그 이미지

고향이안드로메다

,