## calculate day hours into hours in sas

Hi, thank you for any help. I need to convert character day and hour into hours

data one;
input day \$1-13;
cards;
04days,5 hours

15days, 06 Hours
;
run;

what I want result is

101 hours

366 hours

1 ACCEPTED SOLUTION

Accepted Solutions

## Re: calculate day hours into hours in sas

First you get rid of the alphabetic characters and spaces, leaving just the numbers and a comma, via the COMPRESS command. The first number is the days, you convert it to numeric via the INPUT command. The second number is the hours, you convert it to numeric via the INPUT command. Lastly, you compute total hours, which I leave to you as a homework assignment.

``````data one;
input day \$1-16;
cards;
04days,5 hours
15days, 06 Hours
;

data want;
set one;
day=compress(day,' ','a');
hours=input(scan(day,2,','),2.);
days=input(scan(day,1,','),2.);
run;``````

--
Paige Miller
2 REPLIES 2

## Re: calculate day hours into hours in sas

First you get rid of the alphabetic characters and spaces, leaving just the numbers and a comma, via the COMPRESS command. The first number is the days, you convert it to numeric via the INPUT command. The second number is the hours, you convert it to numeric via the INPUT command. Lastly, you compute total hours, which I leave to you as a homework assignment.

``````data one;
input day \$1-16;
cards;
04days,5 hours
15days, 06 Hours
;

data want;
set one;
day=compress(day,' ','a');
hours=input(scan(day,2,','),2.);
days=input(scan(day,1,','),2.);
run;``````

--
Paige Miller

## Re: calculate day hours into hours in sas

data ds1;
set one;

/*seperate days and hours into 2 variables and convert to numeric*/

days=input(scan(day, 1, "days,"), best.);

hours=input(scan(scan(day, 2, "days,"), 1, " "), best.);

/*derive total hours using numeric variables*/

tothours=(days*24)+hours;

run;

Discussion stats
• 2 replies
• 177 views
• 2 likes
• 3 in conversation