Hi
I am facing a problem to convert the numeric function to the date part
my data is
515 |
529 |
540 |
545 |
600 |
In the above 515 means 5:15
529 means 5:29
Please advise
Thanks
This "I am facing a problem to convert the numeric function to the date part" doesn't really make sense as the data you give and logic is for time? I would be cautious about converting just a number like that to a time. You could simply:
data want; input num; tmp=strip(put(num,best.)); tmp=cats(char(tmp,1),":",substr(tmp,2,2)); datalines; 515 529 ; run;
But I suspect thats not really your problem, and your issue includes dates as well. Perhaps provide fuller information, provide what you have as test data in the form of a datastep and what you want out at the end.
You need to fix such issues at the point where data enters your SAS environment.
Show how you imported the data into SAS. Just using the correct format there will remove the problem.
data want;
input num;
want=hms(int(num/100),mod(num,100),0);
format want hhmm5.;
datalines;
515
529
;
run;
Or:
data want;
input num;
want=input(put(num,z4.),hhmmss4.);
format want hhmm5.;
datalines;
515
529
;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.