libname deepak 'C:\SAS Files';
proc format;
invalue convert 'A+' = 100
'A' = 96
'A-' = 92
'B+' = 88
'B' = 84
'B-' = 80
'C+' = 76
'C' = 72
'F' = 65;
data deepak.grades;
input ID $3. Grade convert.;
*format Grade convert. ;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
proc print data = deepak.grades;
run;
I get the following output
Obs ID Grade
1 001 .
2 002 .
3 003 .
4 004 .
5 005 .
I don’t understand why Grade shows up as a missing value.
Everything seems fine, including ID $3.
Now, in case I use ID : $3. Or use column input, I get the
desired output.
Kindly help
Deepak
Answers were Sorted based on User's Feedback
Answer / kondal
i hope this code will work.
data grades;
input ID $3. Grade : convert.;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
proc print data =grades;
run;
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / deepak
Thanks Kondal,
But why does it not work? If u see there, ID has only 3
columns, and technically it must work without a colon (ID :
$3.). I get a perfct output with a semicolon, but without it
I dont.
Is this something specific about user defined Informats?
Appreciate any help
Deepak
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / amaresh
proc format;
invalue convert 'A+' = 100
'A' = 96
'A-' = 92
'B+' = 88
'B' = 84
'B-' = 80
'C+' = 76
'C' = 72
'F' = 65;
run;
data grades;
input ID @5 Grade convert.;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
run;
| Is This Answer Correct ? | 1 Yes | 1 No |
Hi,
you must assign position of Grade variable.you gave a length of id is $3. so you must gave a proper position to Grade variable otherwise it will show the missing.
proc format;
invalue convert 'A-' = 100
'A' = 96
'B+' = 88
'C+' = 76
'F' = 65
;
run;
data deepak;
input ID $3. @5 Grade convert.;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
run;
proc print data = deepak;
run;
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / virat samratt
proc format;
invalue $convert 'A+' = 100
'A' = 96
'A-' = 92
'B+' = 88
'B' = 84
'B-' = 80
'C+' = 76
'C' = 72
'F' = 65;
data grades;
input ID $3. Grade$ convert.;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
add $ before format name in proc format statement
then you will get
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ramakrishna
proc format;
invalue convert 'A+' = 100
'A' = 96
'A-' = 92
'B+' = 88
'B' = 84
'B-' = 80
'C+' = 76
'C' = 72
'F' = 65;
run;
data grades;
input ID $3. Grade $ convert.;
*format Grade convert. ;
datalines;
001 A-
002 B+
003 F
004 C+
005 A
;
proc print data = grades;
run;
| Is This Answer Correct ? | 0 Yes | 2 No |
what is difference in window SAS & Unix SAS.....how do define working environment in both???
what is intially documentation in sas?
What are the statements in proc sql?
how to rearrange the data as our wish by using dataset block?
WHAT IS LAG FUNCTION ? WHERE CAN YOU IMPLEMENT THIS FUNCTION?
what is the use of sas management console? : Sas-di
how do u identify a macro variable
Define run-group processing?
How do you use the do loop if you don’t know how many times you should execute the do loop?
How to save the log information in a file for future use
We want to merge file A and B. File A has variable age, file B provide birthdate. How to merge the data according to age in file B
What is your weekness? I am confuse what to say about this question. so can u give some answer which can be yur strenght.