Hi,
How can I write this as a datastep to change the actual values stored in the variable 'LBTEST' in 9.4?
If I use the below Proc format and then Proc Print the updated values show, but how can I save the updated dataset?
proc format;
value $LBTEST
'Albumin (Alb)'='Albumin'
'Alanine aminotransferase (ALT)'='Alanine aminotransferase'
'Alkaline phosphatase (ALP)'='Alkaline phosphatase'
'Aspartate aminotransferase (AST)'='Aspartate aminotransferase'
'Basophils - % (Baso %)'='Basophils (%)'
'Basophils - Absolute (Baso Abs)'='Basophils (Abs)'
'Blood urea nitrogen (BUN)'='Blood urea nitrogen'
run;
proc print data=ABNLABKEEP;
format LBTEST $LBTEST.;
run;
Do you mean ?:
data ABNLABKEEP;
set ABNLABKEEP;
format LBTEST $LBTEST.;
run;
To actually change the values:
data WANT;
set ABNLABKEEP;
LBTEST = put(LBTEST, $LBTEST.);
run;
Thanks!
I get an error....
I have to guess that you made some kind of mistake in creating the format. The following works for me:
data ABNLABKEEP;
informat lbtest $80.;
input lbtest &;
cards;
Albumin (Alb)
Alanine aminotransferase (ALT)
Alkaline phosphatase (ALP)
Aspartate aminotransferase (AST)
Basophils - % (Baso %)
Basophils - Absolute (Baso Abs)
Blood urea nitrogen (BUN)
;
proc format;
value $LBTEST
'Albumin (Alb)'='Albumin'
'Alanine aminotransferase (ALT)'='Alanine aminotransferase'
'Alkaline phosphatase (ALP)'='Alkaline phosphatase'
'Aspartate aminotransferase (AST)'='Aspartate aminotransferase'
'Basophils - % (Baso %)'='Basophils (%)'
'Basophils - Absolute (Baso Abs)'='Basophils (Abs)'
'Blood urea nitrogen (BUN)'='Blood urea nitrogen'
run;
data WANT;
set ABNLABKEEP;
LBTEST = put(LBTEST, $LBTEST.);
run;
Art, CEO, AnalystFinder.com
Or perhaps make that format an INVALUE and use it as an INFORMAT to read the data. This may be a better option in the long run if you are reading multiple files with the same contents.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.