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.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 407 views
  • 0 likes
  • 3 in conversation