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-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

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 lock in 2025 pricing—just $495!

Register now

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
  • 790 views
  • 0 likes
  • 3 in conversation