Text function

Reply
Occasional Contributor
Posts: 5

Text function

Hello,

 

I'n new in SAS and I have simple question.

I have two columns 

1. DATE

2. TEXT

 

For bussiness purposes I need to join this two columns into enother one the format should look like: TEXT "\" YYYY-MM-DD

 

Any suggestions?

Grand Advisor
Posts: 10,210

Re: Text function

If your date varaible is a sas date variable then this should work:

 

data want;

   set have;

   length newtextvar $ 50 ; /* the lenght here should be a least large enought to take the longest text value plus 12 characters.

   newtextvar = catx('\',text, put(date, yymmddD10.);

run;

 

If the date is not currently a SAS date valued numeric then a conversion will be needed to create one.

SAS Super FREQ
Posts: 8,719

Re: Text function

Hi:
I would recommend a DATA step program using the CAT functions (either CATT or CATX) to make your new variable. But one consideration is whether the DATE variable is character or numeric.

If DATE is character you can use it directly in the concatenate function. But if DATE is numeric (and stored as the number of days from Jan 1, 1960), then you will need to use the PUT function to convert it to a readable date in your new variable.

Generally, it would look like this:
DATE is Character:
newvar=catx(' ',text,'\',date);

DATE is Numeric:
newvar=catx(' ',text,'\',put(date,yymmdd10.));

CATX inserts a space after every item being concatenated together. If you don't want a space between, then look at the other CAT functions, like CATT or CAT.

cynthia
Ask a Question
Discussion stats
  • 2 replies
  • 197 views
  • 1 like
  • 3 in conversation