Hi fellow SAS EG users! I've been researching this problem for a while, and haven't found a solution yet. I'm hoping you can help. I work with data from external agencies quite often, and each time they send us a csv file, it's in the exact same format. Same columns, same order, same field names. I've been using the Import Wizard in SAS EG to import these files, but as there are 33 columns and I have to manually specify the datatype of each field, this is tedious and time consuming. Here's the desired format of each column: Name Type Length Format Informat Label Your_Unique_Identifier Character 1 $CHAR1. $CHAR1. Your Unique Identifier First_Name Character 16 $CHAR16. $CHAR16. First Name Middle_Initial Character 1 $CHAR1. $CHAR1. Middle Initial Last_Name Character 20 $CHAR20. $CHAR20. Last Name Name_Suffix Character 1 $CHAR1. $CHAR1. Name Suffix Requester_Return_Field Character 20 $CHAR20. $CHAR20. Requester Return Field Record_Found_Y_N Character 1 $CHAR1. $CHAR1. Record Found Y/N Search_Date Date 8 YYMMDD10. YYMMDD10. Search Date College_Code_Branch Character 9 $CHAR9. $CHAR9. College Code/Branch College_Name Character 50 $CHAR50. $CHAR50. College Name College_State Character 2 $CHAR2. $CHAR2. College State _2_year___4_year Character 1 $CHAR1. $CHAR1. 2-year / 4-year Public___Private Character 7 $CHAR7. $CHAR7. Public / Private Enrollment_Begin Date 8 YYMMDD10. YYMMDD10. Enrollment Begin Enrollment_End Date 8 YYMMDD10. YYMMDD10. Enrollment End Enrollment_Status Character 1 $CHAR1. $CHAR1. Enrollment Status Class_Level Character 1 $CHAR1. $CHAR1. Class Level Enrollment_Major_1 Character 78 $CHAR78. $CHAR78. Enrollment Major 1 Enrollment_CIP_1 Numeric 8 BEST6. BEST6. Enrollment CIP 1 Enrollment_Major_2 Character 60 $CHAR60. $CHAR60. Enrollment Major 2 Enrollment_CIP_2 Numeric 8 BEST6. BEST6. Enrollment CIP 2 Graduated_ Character 1 $CHAR1. $CHAR1. Graduated? Graduation_Date Date 8 YYMMDD10. YYMMDD10. Graduation Date Degree_Title Character 69 $CHAR69. $CHAR69. Degree Title Degree_Major_1 Character 80 $CHAR80. $CHAR80. Degree Major 1 Degree_CIP_1 Numeric 8 BEST6. BEST6. Degree CIP 1 Degree_Major_2 Character 49 $CHAR49. $CHAR49. Degree Major 2 Degree_CIP_2 Numeric 8 BEST6. BEST6. Degree CIP 2 Degree_Major_3 Character 34 $CHAR34. $CHAR34. Degree Major 3 Degree_CIP_3 Numeric 8 BEST6. BEST6. Degree CIP 3 Degree_Major_4 Character 20 $CHAR20. $CHAR20. Degree Major 4 Degree_CIP_4 Numeric 8 BEST6. BEST6. Degree CIP 4 College_Sequence Numeric 8 BEST2. BEST2. College Sequence Is there a way to create a template for importing these kinds of files so I don't have to manually import them each time? I've tried using PROC IMPORT: PROC IMPORT DATAFILE= "C:\MyUsername\Desktop\filename.csv"
OUT= outdata
DBMS=csv
REPLACE;
GETNAMES=YES;
RUN; But got the following error message: NOTE: Unable to open parameter catalog: SASUSER.PARMS.PARMS.SLIST in update mode. Temporary parameter values will be saved to WORK.PARMS.PARMS.SLIST. ERROR: Physical file does not exist, C:\MyUsername\Desktop\filename.csv. I found this post explaining how to fix this error, but it seems like my SASUSER Directory is locked to me. I've also tried using INFILE based on this page I found on the SAS Help Center, but got the same error as before ("Physical file does not exist"): /*infile*/
data output;
length file2read $60; /**/
input file2read $; /**/
infile datalines; /**/
infile dummy filevar = file2read end = done; /**/
do while(not done); /**/
input "Your Unique Identifier"n $ "First Name"n;
output; /**/
end;
datalines;
C:\MyUsername\Desktop\filename.csv
;
proc print data=output; run; Let me know of something else I can try. Anything helps!
... View more