Hello,
I have a variable with ICD codes. I want everything of the left of the decimal. But some cells have multiple codes in a row.
| ICD_Code | ICD_Code1 |
| C18.9 | C18 |
| C15.9 | C15 |
| Z80.3 | Z80 |
| Z12.11, Z12.12 | |
| Z85.46 | Z85 |
| Z85.528 | Z85 |
| C65.9, C66.9 |
My code was as following:
if ICD_Code1 in ("C85","C50", ~~ a lot more codes~~ ) then Cancer=1;
I also tried with scan and substr, but I don't know how to do it when there are many values separated by commas.
Thanks in advance!
data _null_;
x="C60.182, C29.4, C30.1";
y=prxchange('s/\.\d+/ /',-1, x);
put y=;
run;
>>>LOG: y=C60, C29, C30
data want;
set have;
y=prxchange('s/\.\d+/ /',-1, ICD_Code);
run;Hope can help you
data _null_;
x="C60.182, C29.4, C30.1";
y=prxchange('s/\.\d+/ /',-1, x);
put y=;
run;
>>>LOG: y=C60, C29, C30
data want;
set have;
y=prxchange('s/\.\d+/ /',-1, ICD_Code);
run;Hope can help you
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 save with the early bird rate—just $795!
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.