BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Ronein
Onyx | Level 15

Hello

I want to create a new column that concatenate reasons.

My question-

In the resulted concatenated column there is sign "||" at the end and I dont want to have it.

What is the way to modify the code to prevent "||" sign at end of the string?

Please note that I want to have "||" between reasons but not in end. 

Data have;
input ID  X1 X2 X3 ;
cards;
1 1 0 0
2 0 0 0
3 1 1 0
4 0 0 1
5 0 1 0
6 1 1 1
7 0 0 0
8 0 1 1
9 0 1 0
10 0 0 1
;
Run;

Data want;
length Reasons  $100.;
set have;
Reasons='';
If X1=1 then Reasons=compress(Reasons||'Health_issue||');
If X2=1 then Reasons=compress(Reasons||'Wealth_issue||');
If X3=1 then Reasons=compress(Reasons||'Other_issue||');
IF X1=0 AND X2=0 AND X3=0 then Reasons='No_Reasons';
Run;
1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
PROC Star

Here's a way to get rid of the extra ||.  Switch from COMPRESS to CATX:


If X1=1 then Reasons=catx('||', Reasons, 'Health_issue');
If X2=1 then Reasons=catx('||', Reasons, 'Wealth_issue');
If X3=1 then Reasons=catx('||', Reasons, 'Other_issue');
IF X1=0 AND X2=0 AND X3=0 then Reasons='No_Reasons';

View solution in original post

1 REPLY 1
Astounding
PROC Star

Here's a way to get rid of the extra ||.  Switch from COMPRESS to CATX:


If X1=1 then Reasons=catx('||', Reasons, 'Health_issue');
If X2=1 then Reasons=catx('||', Reasons, 'Wealth_issue');
If X3=1 then Reasons=catx('||', Reasons, 'Other_issue');
IF X1=0 AND X2=0 AND X3=0 then Reasons='No_Reasons';

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