DATA Step, Macro, Functions and more

How to rename a SAS dataset column with parantheses

Accepted Solution Solved
Reply
Contributor
Posts: 43
Accepted Solution

How to rename a SAS dataset column with parantheses

All, 
  This is probably a simple way to achieve what I want but I don't know how to do this. 

  I am importing some data from a csv file using the following code: 

 

	proc import datafile=csv out=System dbms=csv replace; 
/* 		getnames=yes; */   *since imported names have parantheses or special characters;
	run;
	

  As shown in the commented code, I have tried commenting the options of getnames out and tried it with the code turned on. Either ways the imported data set has variables that are not being recognized with the rename option. 

 

 

  When attempting to rename : 

  

data Test1; 
	set Work.System(rename = System Power Output(W) = SystemPowOutInW); 
Run; 

 

 

ERROR 79-322: Expecting a =.
 
ERROR 22-7: Invalid option name =.
 
 When attempting to make subset of dataset 
data Test1; 
	set Work.System(keep = System Power Output(W) = SystemPowOutInW); 
Run; 
ERROR 214-322: Variable name ( is not valid.
ERROR 23-7: Invalid value for the KEEP option.
 
Is there a way to make the column names SAS compliant when importing them from the CSV or can someone demonstrate an example of renaming column names with parantheses and special characters ? 

Accepted Solutions
Solution
4 weeks ago
Super User
Posts: 24,004

Re: How to rename a SAS dataset column with parantheses

Posted in reply to UdayGuntupalli

Set the following option and rerun your import code. 

Options validvarname=V7;

SAS should automatically convert the names into cleaner names. 

View solution in original post


All Replies
Super User
Posts: 4,023

Re: How to rename a SAS dataset column with parantheses

Posted in reply to UdayGuntupalli

When column names are imported that do not conform to the SAS standard then you can rename them like this:

 

data Test1; 
	set Work.System(rename = ('System Power Output(W)'n = SystemPowOutInW)); 
Run; 
Solution
4 weeks ago
Super User
Posts: 24,004

Re: How to rename a SAS dataset column with parantheses

Posted in reply to UdayGuntupalli

Set the following option and rerun your import code. 

Options validvarname=V7;

SAS should automatically convert the names into cleaner names. 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 111 views
  • 6 likes
  • 3 in conversation