BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
King
Calcite | Level 5

data te;

author='Agatha Christie';

sc=scan(author,1,',');

run;

this is the dataset tel me the length of the varaible sc and also why?

1 ACCEPTED SOLUTION

Accepted Solutions
Cynthia_sas
SAS Super FREQ

Hi:

  The returned value, without any LENGTH statement should be $200, which you can verify by running PROC CONTENTS. The doc explains why the length is 200:

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000214639.htm when it says:

"In a DATA step, if the SCAN function returns a value to a variable that has not yet been given a length, then that variable is given a length of 200 characters. If you need the SCAN function to assign to a variable a word that is longer than 200 characters, then you should explicitly specify the length of that variable."

And, of course, if you want the SCAN function to assign a length SHORTER than 200, you should also explicitly specify the length of the new variable in a LENGTH statement.

cynthia

View solution in original post

2 REPLIES 2
Cynthia_sas
SAS Super FREQ

Hi:

  The returned value, without any LENGTH statement should be $200, which you can verify by running PROC CONTENTS. The doc explains why the length is 200:

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000214639.htm when it says:

"In a DATA step, if the SCAN function returns a value to a variable that has not yet been given a length, then that variable is given a length of 200 characters. If you need the SCAN function to assign to a variable a word that is longer than 200 characters, then you should explicitly specify the length of that variable."

And, of course, if you want the SCAN function to assign a length SHORTER than 200, you should also explicitly specify the length of the new variable in a LENGTH statement.

cynthia

King
Calcite | Level 5

thnks alot  ms Cynthia.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 661 views
  • 1 like
  • 2 in conversation