<?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 Series of dates, import in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745715#M233809</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I want to import CSV files into SAS.&lt;/P&gt;
&lt;P&gt;I wan to create a series of dates and import files with names of these dates.&lt;/P&gt;
&lt;P&gt;Why Way B in this code is not working?&lt;/P&gt;
&lt;P&gt;What is the way to solve it please?&lt;/P&gt;
&lt;P&gt;In Way B there is only one CSV file that is imported&amp;nbsp; &amp;nbsp;with date 20210511.&lt;/P&gt;
&lt;P&gt;Why?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro import_one(YYYYMMDD);
%if %sysfunc(fileexist(/path/Revenue&amp;amp;YYYYMMDD.))
%then %do;
data t&amp;amp;YYYYMMDD.;
infile "/path/Revenue&amp;amp;YYYYMMDD."
dlm=';' dsd truncover firstobs=2;
input VAR1-VAR59;
run;
%end;
/*If doesnt exist then create empty data set*/
%else %do;
data t&amp;amp;YYYYMMDD.;
Format VAR1-VAR59 8.;
stop;
run;
%end;
%mend import_one;

/**Way A-Working well**/
Data datestbl;
input YYYYMMDD $;
call execute('%nrstr(%import_one('!!YYYYMMDD!!'))');
cards;
20210501
20210502
20210503
20210504
20210505
20210506
20210507
20210508
20210509
20210510
;
Run;

/**Way B-Not Working well**/
%let start_date=01MAY2021;
%let end_date=10MAY2021;
data datestbl(keep=YYYYMMDD);
date="&amp;amp;start_date"d;
YYYYMMDD=put(date,yymmddn8.);
do while (date&amp;lt;="&amp;amp;end_date"d);
    output;
    date=intnx('day', date, 1, 's');
	YYYYMMDD=put(date,yymmddn8.);
end;
format date date9.;
call execute('%nrstr(%import_one('!!YYYYMMDD!!'))');
run;
 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 04 Jun 2021 09:23:12 GMT</pubDate>
    <dc:creator>Ronein</dc:creator>
    <dc:date>2021-06-04T09:23:12Z</dc:date>
    <item>
      <title>Series of dates, import</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745715#M233809</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I want to import CSV files into SAS.&lt;/P&gt;
&lt;P&gt;I wan to create a series of dates and import files with names of these dates.&lt;/P&gt;
&lt;P&gt;Why Way B in this code is not working?&lt;/P&gt;
&lt;P&gt;What is the way to solve it please?&lt;/P&gt;
&lt;P&gt;In Way B there is only one CSV file that is imported&amp;nbsp; &amp;nbsp;with date 20210511.&lt;/P&gt;
&lt;P&gt;Why?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro import_one(YYYYMMDD);
%if %sysfunc(fileexist(/path/Revenue&amp;amp;YYYYMMDD.))
%then %do;
data t&amp;amp;YYYYMMDD.;
infile "/path/Revenue&amp;amp;YYYYMMDD."
dlm=';' dsd truncover firstobs=2;
input VAR1-VAR59;
run;
%end;
/*If doesnt exist then create empty data set*/
%else %do;
data t&amp;amp;YYYYMMDD.;
Format VAR1-VAR59 8.;
stop;
run;
%end;
%mend import_one;

/**Way A-Working well**/
Data datestbl;
input YYYYMMDD $;
call execute('%nrstr(%import_one('!!YYYYMMDD!!'))');
cards;
20210501
20210502
20210503
20210504
20210505
20210506
20210507
20210508
20210509
20210510
;
Run;

/**Way B-Not Working well**/
%let start_date=01MAY2021;
%let end_date=10MAY2021;
data datestbl(keep=YYYYMMDD);
date="&amp;amp;start_date"d;
YYYYMMDD=put(date,yymmddn8.);
do while (date&amp;lt;="&amp;amp;end_date"d);
    output;
    date=intnx('day', date, 1, 's');
	YYYYMMDD=put(date,yymmddn8.);
end;
format date date9.;
call execute('%nrstr(%import_one('!!YYYYMMDD!!'))');
run;
 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 04 Jun 2021 09:23:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745715#M233809</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2021-06-04T09:23:12Z</dc:date>
    </item>
    <item>
      <title>Re: Series of dates, import</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745721#M233811</link>
      <description>&lt;P&gt;In B, you run the CALL EXECUTE&amp;nbsp;&lt;EM&gt;once after the DO loop has finished&lt;/EM&gt;, with the value that caused the loop to terminate.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Jun 2021 10:42:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745721#M233811</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-04T10:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: Series of dates, import</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745741#M233826</link>
      <description>&lt;P&gt;Do you mean that I need to write call execute within the loop?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;%let start_date=01MAY2021;&lt;/P&gt;
&lt;P&gt;%let end_date=10MAY2021;&lt;/P&gt;
&lt;P&gt;data datestbl(keep=YYYYMMDD);&lt;/P&gt;
&lt;P&gt;date="&amp;amp;start_date"d;&lt;/P&gt;
&lt;P&gt;YYYYMMDD=put(date,yymmddn8.);&lt;/P&gt;
&lt;P&gt;do while (date&amp;lt;="&amp;amp;end_date"d);&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;output;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;date=intnx('day', date, 1, 's');&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;YYYYMMDD=put(date,yymmddn8.);&lt;/P&gt;
&lt;P&gt;call execute('%nrstr(%import_one('!!YYYYMMDD!!'))');&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;run;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Jun 2021 11:58:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745741#M233826</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2021-06-04T11:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: Series of dates, import</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745745#M233829</link>
      <description>&lt;P&gt;Maxim 4.&lt;/P&gt;
&lt;P&gt;Try It.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Jun 2021 11:58:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Series-of-dates-import/m-p/745745#M233829</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-06-04T11:58:25Z</dc:date>
    </item>
  </channel>
</rss>

