HHi ,
instead of writing a code how do we add trailing blanks to alphanumeric fields using computed coloumn in SAS EG before exporting data into CSV file
All SAS character strings already are padded on the right with blanks.
So most likely your question is about how to generate a non standard CSV file that includes normally unwanted trailing blanks.
Why would you want to make a file in such a format?
Do you have more information on the required format since it is clearly not a normal CSV file.
HHi
i have an alphanumeric field example : MM344
its format is $12. In properties now I need to add trailing blanks
and length shd be 25 . and then export that dataset
as csv file
So the FORMAT is just how the variable is displayed, but let's assume that your variable also has a length of 12. You might get somewhere by just modifying the variable to use $25. format instead. If you really need to change the length of the variable then you will need to create a new variable.
But a CSV file will NOT have the trailing spaces. For example if you run this simple step you will see that the data for the character variable NAME does not have trailing spaces. The spaces are not needed because the commas serve as the delimiter between the fields. Hence the name Comma Separated Value (CSV).
682 data _null_;
683 set sashelp.class ;
684 file log dsd ;
685 put (_all_) (:);
686 run;
Alfred,M,14,69,112.5
Alice,F,13,56.5,84
Barbara,F,13,65.3,98
Carol,F,14,62.8,102.5
Henry,M,14,63.5,102.5
James,M,12,57.3,83
Jane,F,12,59.8,84.5
Janet,F,15,62.5,112.5
Jeffrey,M,13,62.5,84
John,M,12,59,99.5
Joyce,F,11,51.3,50.5
Judy,F,14,64.3,90
Louise,F,12,56.3,77
Mary,F,15,66.5,112
Philip,M,16,72,150
Robert,M,12,64.8,128
Ronald,M,15,67,133
Thomas,M,11,57.5,85
William,M,15,66.5,112
Perhaps your requirement is to output a fixed column format file instead of a CSV file? That is easy to so using a data step. Not sure if EG has a task to do that however.
data _null_;
set sashelp.class;
file 'mynewfile.txt' ;
put @1 name @26 age @30 sex ;
run;
CCan we use subpad function but I am confused of which length I can specify and which format I can specify in code when source has format $12. , length 12 and now result dataset format A25 . Thinking how to represent in code
If you are writing your own code then just define the variable to the length you want.
If you are writing a data step then use the LENGTH statement to define the variable.
data want ;
set have ;
length new $25;
new=old;
run;
If you are writing SQL then use the LENGTH attribute
proc sql ;
create table want as select *,old as new length=25 from have ;
quit;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.