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

Input string :$80.;

cards;

1,3,5,3,7,2,

22,32,34,45,

;

 

Is there a SAS function that tells me how many fields that I have on this line or how many commas I have on this line ?

The first line the function would return 6, second line 4.

 

Thanks  Jim

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

is my understanding of your question correct?

 

data h;
input string :$80.;
cards;
1,3,5,3,7,2,
22,32,34,45,
;

data w;
set h;
k=count(string, ',');
run;

View solution in original post

4 REPLIES 4
novinosrin
Tourmaline | Level 20

is my understanding of your question correct?

 

data h;
input string :$80.;
cards;
1,3,5,3,7,2,
22,32,34,45,
;

data w;
set h;
k=count(string, ',');
run;

Jim_G
Pyrite | Level 9
Thank you @novinosrin
art297
Opal | Level 21

@Jim_G: FWIW, you can also use the COUNTW function. That way, you will get the same answer regardless of whether the line does or doesn't end with a comma. e.g.:

data h;
  input string :$80.;
  cards;
1,3,5,3,7,2,
22,32,34,45,
1,3,5,3,7,2
22,32,34,45
;

data w;
  set h;
  k=countw(string, ',','t');
run;

Art, CEO, AnalystFinder.com

 

Jim_G
Pyrite | Level 9
Thanks @art

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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
  • 4 replies
  • 1625 views
  • 1 like
  • 3 in conversation