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

dear all,

 i have the data in the following format 

company_nameYearinvestor_name
20 Microns Ltd.2010Gujarat Venture Capital Fund-1995
20 Microns Ltd.2010Narendra Manibhai Patel
3I Infotech Ltd.2010Emirates Bank International Pjsc
3I Infotech Ltd.2010Lic Of India Money Plus
3I Infotech Ltd.2010Lic Of India Money Plus -1
3I Infotech Ltd.2010Life Insurance Corporation Of India Ltd
3I Infotech Ltd.2010Norges Bank A/C Government Petroleum Fund
3I Infotech Ltd.2010Reliance Capital Trustee Co Ltd A/C Reliance Equity Opportunities Fund
3I Infotech Ltd.2010Reliance Capital Trustee Co Ltd A/C Reliance Regular Saving Fund Equity Option
3I Infotech Ltd.2010Reliance Capital Trustee Co Ltd Reliance Long Term Equity Fund
3I Infotech Ltd.2010Sundaram Bnp Paribas Mutual Fund A/C Sudaram Bnp Paribas Equity Multiplier Fun
3I Infotech Ltd.2010Swiss Finance Corporation Mauritius Ltd
3M India Ltd.2010Acacia Institutional Partners Lp
3M India Ltd.2010Acacia Partners Lp
3M India Ltd.2010Bright Star Investments Pvt Ltd
3M India Ltd.2010Hdfc Trustee Company Ltd - Hdfc Prudence Fund
3M India Ltd.2010Tata Offshore India Opportunities Scheme
3P Land Holdings Ltd.2010Deep Star Investment & Finance Co Pvt Ltd
3P Land Holdings Ltd.2010Santosh S Goenka
3P Land Holdings Ltd.2010Shree Global Tradefin Ltd
52 Weeks Entertainment Ltd.2010Alpic Finance Ltd
52 Weeks Entertainment Ltd.2010Dr Hemant Thacker
52 Weeks Entertainment Ltd.2010Jainam Sec Pvt Ltd
52 Weeks Entertainment Ltd.2010Suman L Shah
52 Weeks Entertainment Ltd.2010Winever Investment & Consultants Pvt Ltd
63 Moons Technologies Ltd.2010Acacia Institutional Partners Lp
63 Moons Technologies Ltd.2010Acacia Partners Lp
63 Moons Technologies Ltd.2010Aic Advantage Fund
63 Moons Technologies Ltd.2010Bharat K. Sheth
63 Moons Technologies Ltd.2010Deutsche Securities Mauritius Ltd
63 Moons Technologies Ltd.2010Fid Funds Mauritius Ltd
63 Moons Technologies Ltd.2010Passport Capital Llc A/C Passport India Investments Mauritius Ltd
63 Moons Technologies Ltd.2010Pivotal Securities Pvt Ltd
63 Moons Technologies Ltd.2010Ravi K. Sheth
63 Moons Technologies Ltd.2010Reliance Capital Trustee Company Ltd A/C Reliance Equity Fund
63 Moons Technologies Ltd.2010Reliance Capital Trustee Company Ltd A/C Reliance Growth Fund
63 Moons Technologies Ltd.2010Reliance Capital Trustee Company Ltd A/C Reliance Vision Fund
63 Moons Technologies Ltd.2010Reliance Life Insurance Company Ltd
A B B India Ltd.2010Aberdeen Asset Managers Ltd A/C Aberdeen Global Indian Fund Mauitius Ltd
A B B India Ltd.2010General Insurance Corporation Of India
A B B India Ltd.2010Icici Prudential Life Insurance Company Ltd
A B B India Ltd.2010Lic Of India Market Plus
A B B India Ltd.2010Lic Of India Money Plus
A B B India Ltd.2010Life Insurance Corporation Of India
A B B India Ltd.2010Life Insurance Corporation Of India Profit Plus
A B C Gas (International) Ltd.2010Canbank Financial Services Ltd
A B C Gas (International) Ltd.2010Naresh K Aggarwala
A B C Gas (International) Ltd.2010Savasthi Investment Ltd
A B C Gas (International) Ltd.2010St. Helens Nominees India Pvt Ltd

 

I have to recode the variable "investor_name" into "1" if the  variable contains any of below mentioned words or else "0" 

“Investment”

 “Ltd”

“Pvt”

“India”

“Lic”

“Bank”

“Securities”

“Corporation”

 “Fund”

     

 

please suggest to me a suitable SAS code for this purpose

thanking you in advance 

1 ACCEPTED SOLUTION

Accepted Solutions
Patrick
Opal | Level 21

One way to go:

data demo;
  infile datalines truncover;
  input investor_name $100.;
  match_flag=prxmatch('/\b(Investment|Ltd|Pvt|Fund)\b/i',strip(investor_name))>0;
datalines;
Gujarat Venture Capital Fund-1995
Narendra Manibhai Patel
test fundraiser test
;

proc print data=demo;
run;

Patrick_0-1657959696233.png

 

View solution in original post

3 REPLIES 3
Patrick
Opal | Level 21

One way to go:

data demo;
  infile datalines truncover;
  input investor_name $100.;
  match_flag=prxmatch('/\b(Investment|Ltd|Pvt|Fund)\b/i',strip(investor_name))>0;
datalines;
Gujarat Venture Capital Fund-1995
Narendra Manibhai Patel
test fundraiser test
;

proc print data=demo;
run;

Patrick_0-1657959696233.png

 

mkeintz
PROC Star

You could set up an array of search terms:

 

data want (drop=i);
  set have;
  array invterms {9} $12 _temporary_ ("Investment","Ltd","Pvt","India","Lic","Bank","Securities","Corporation","Fund");
  do i=1 to dim(invterms) until (match_flag>0);
    match_flag=(findw(investor_name,trim(invterms{i}))>0);
  end;
run;
--------------------------
The hash OUTPUT method will overwrite a SAS data set, but not append. That can be costly. Consider voting for Add a HASH object method which would append a hash object to an existing SAS data set

Would enabling PROC SORT to simultaneously output multiple datasets be useful? Then vote for
Allow PROC SORT to output multiple datasets

--------------------------
srikanthyadav44
Quartz | Level 8
thanks. it is working

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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.

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