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: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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