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

Hello team,

I have the code below:

I want to know why this part: trim(put(mbrDes,$CON.)) equals to DSS, it doesn't get equal to whole string. 

The code below doesn't generate errors: 

 

proc format;
values $CON
'b' = 'DSS- PP'
Run;

Data want (Keep = mbrDes);
format LineofBu $60. system $5;
set have;
LineofBu =trim(put(mbrDes,$CON.));
if LineofBu =: 'DSS' Then system = 'DSS';
run;

Regards,

blueblue

Blue Blue
1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

The semicolon after the = sign in this line of code

 

if LineofBu =: 'DSS' Then system = 'DSS';

indicates that the test checks to see if the value of LineofBu starts with DSS (it does not test if the entire string is equal to DSS)

--
Paige Miller

View solution in original post

2 REPLIES 2
PaigeMiller
Diamond | Level 26

The semicolon after the = sign in this line of code

 

if LineofBu =: 'DSS' Then system = 'DSS';

indicates that the test checks to see if the value of LineofBu starts with DSS (it does not test if the entire string is equal to DSS)

--
Paige Miller
Reeza
Super User

FYI - your code as posted does generate errors for me - there are three syntax errors in your code.

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
  • 996 views
  • 1 like
  • 3 in conversation