BookmarkSubscribeRSS Feed
nickspencer
Obsidian | Level 7
I have a SAS dataset with a column main_col that might have values of any length. I need to split the main_col into multiple columns col1-col10. Each column should be of length $500.

What can be the best way to do that?

Thanks
2 REPLIES 2
PaigeMiller
Diamond | Level 26

You could use the LENGTH function to find the length of a character string in each observation, that way you will know how many blocks of 500 characters are needed. Then you can create a loop using the SUBSTR function to extract characters 1 to 500 and then 501 to 1000 and so on.

--
Paige Miller
Reeza
Super User
Depends on how it's delimited. Use COUNTW() to get the number of words, use SCAN() and a DO loop to go through and parse it. There's lots of examples on here that you can reference - check the related topics side bar on the right hand side of the page.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 482 views
  • 0 likes
  • 3 in conversation