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
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
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.