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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.