<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Trying to load multiple datasets into SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304986#M65009</link>
    <description>&lt;P&gt;This is a situation where wrapping code into a macro can be handy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First, let's wrap your import code into a macro and deal with the dataset name issue on the way:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro import_csv(filename);
filename csv "/home/kancym0/sasuser.v94/&amp;amp;filename..csv" termstr=LF;

proc import
  datafile=csv
  out=work.mycsv_&amp;amp;filename.
  dbms=CSV
  replace
;
run;
%mend;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Next, create a list of filenames to automate processing:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data files;
input filename $;
datalines;
DEF
K
QB
RB
ST
TE
WR
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now, use that list to call the macro repeatedly:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
set files;
call execute('%import_csv('!!trim(filename)!!');');
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you don't need the list of filenames in a dataset for further processing, you can combine the last 2 steps into one data _null_ step.&lt;/P&gt;</description>
    <pubDate>Mon, 17 Oct 2016 06:59:24 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2016-10-17T06:59:24Z</dc:date>
    <item>
      <title>Trying to load multiple datasets into SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304947#M64997</link>
      <description>&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the following SAS code running, and I'm trying to get multiple CSV files to run in SAS. Is that somehting that is possible. Below is my current SAS Code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;FILENAME CSV "/home/kancym0/sasuser.v94/DEF.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/K.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/QB.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/RB.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/ST.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/TE.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;FILENAME CSV "/home/kancym0/sasuser.v94/WR.csv" TERMSTR=LF;&lt;BR /&gt;&lt;BR /&gt;PROC IMPORT DATAFILE=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OUT=WORK.MYCSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS=CSV&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have individual codes for each dataset. Is there a way I can load al of the datasets into SAS at once whether it's by what I'm doing above, or is there another code I can use to get them all in at once? Thank you very much in advance for the help&lt;/P&gt;</description>
      <pubDate>Sun, 16 Oct 2016 22:26:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304947#M64997</guid>
      <dc:creator>mattkancy</dc:creator>
      <dc:date>2016-10-16T22:26:20Z</dc:date>
    </item>
    <item>
      <title>Re: Trying to load multiple datasets into SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304956#M64999</link>
      <description>&lt;P&gt;All your OUT datasets have the same name so only the last one will exist.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can use several methods but all require a data step rather than proc import.&lt;/P&gt;
&lt;P&gt;This assumes that all your datasets have the same structure, if they don't then you'll need a method similar to what you're currently doing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can modify the code in the link below for your situation by adding the TERMSTR option to the INFILE statement.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-do-I-write-a-macro-to-import-multiple-text-files-that-have/ta-p/223627" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-do-I-write-a-macro-to-import-multiple-text-files-that-have/ta-p/223627&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 16 Oct 2016 23:04:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304956#M64999</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-10-16T23:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: Trying to load multiple datasets into SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304957#M65000</link>
      <description>&lt;P&gt;Assuming the structure of all your .csv is the same then you could use a SAS Data step and a wildcard in your filename statement. This would read all of your .csv files in this location.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you can't use a wildcard as there would also be other .csv being picked up then have a look into "Example 5: Reading from Multiple Input Files".&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lestmtsref/68024/HTML/default/viewer.htm#n1rill4udj0tfun1fvce3j401plo.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lestmtsref/68024/HTML/default/viewer.htm#n1rill4udj0tfun1fvce3j401plo.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 16 Oct 2016 23:08:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304957#M65000</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2016-10-16T23:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: Trying to load multiple datasets into SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304986#M65009</link>
      <description>&lt;P&gt;This is a situation where wrapping code into a macro can be handy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First, let's wrap your import code into a macro and deal with the dataset name issue on the way:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro import_csv(filename);
filename csv "/home/kancym0/sasuser.v94/&amp;amp;filename..csv" termstr=LF;

proc import
  datafile=csv
  out=work.mycsv_&amp;amp;filename.
  dbms=CSV
  replace
;
run;
%mend;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Next, create a list of filenames to automate processing:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data files;
input filename $;
datalines;
DEF
K
QB
RB
ST
TE
WR
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now, use that list to call the macro repeatedly:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
set files;
call execute('%import_csv('!!trim(filename)!!');');
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you don't need the list of filenames in a dataset for further processing, you can combine the last 2 steps into one data _null_ step.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Oct 2016 06:59:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Trying-to-load-multiple-datasets-into-SAS/m-p/304986#M65009</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-10-17T06:59:24Z</dc:date>
    </item>
  </channel>
</rss>

