<?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: How do I create datasets based on date using macros in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434873#M107964</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;That was just for illustration purpose. My intended dataset has&amp;nbsp;approx. 1 million rows and increasing for each month and is historical dating back to Jan2010. I only need rolling previous 12 months&lt;/P&gt;&lt;P&gt;I&amp;nbsp;need to separate the observations based on snapdate and create previous 12 months rolling datasets&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Wed, 07 Feb 2018 14:39:27 GMT</pubDate>
    <dc:creator>anandrc</dc:creator>
    <dc:date>2018-02-07T14:39:27Z</dc:date>
    <item>
      <title>How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434854#M107957</link>
      <description>&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;I have a dataset as below&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;infile&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; cards;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;Input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate Account Amount;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;cards&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dec-16 A 10&lt;/P&gt;&lt;P&gt;Jan-17 A 20&lt;/P&gt;&lt;P&gt;Feb-17 A 30&lt;/P&gt;&lt;P&gt;Mar-17 A 40&lt;/P&gt;&lt;P&gt;Apr-17 A 50&lt;/P&gt;&lt;P&gt;May-17 A 60&lt;/P&gt;&lt;P&gt;Jun-17 A 70&lt;/P&gt;&lt;P&gt;Jul-17 A 80&lt;/P&gt;&lt;P&gt;Aug-17 A 90&lt;/P&gt;&lt;P&gt;Sep-17 A 100&lt;/P&gt;&lt;P&gt;Oct-17 A 110&lt;/P&gt;&lt;P&gt;Nov-17 A 120&lt;/P&gt;&lt;P&gt;Dec-17 A 130&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;If&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i am running for example Dec17, I need rolling previous &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;12&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; months datasets (from Dec17 back to Jan17) created based on snapdate using macros&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;I can code manually as &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;below.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; But i am looking to implement this using macros and do loop&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;data test_201712 test_201711 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; test_201701;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Dec2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201712;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Nov2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201711;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;if date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Jan2017'd&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; then output test_201701;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:12:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434854#M107957</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T14:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434859#M107959</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/183450"&gt;@anandrc&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#000080" size="2"&gt;&lt;STRONG&gt;I have a dataset as below&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#000080" size="2"&gt;&lt;STRONG&gt;Data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;infile&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; cards;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;Input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate Account Amount;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;cards&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dec-16 A 10&lt;/P&gt;
&lt;P&gt;Jan-17 A 20&lt;/P&gt;
&lt;P&gt;Feb-17 A 30&lt;/P&gt;
&lt;P&gt;Mar-17 A 40&lt;/P&gt;
&lt;P&gt;Apr-17 A 50&lt;/P&gt;
&lt;P&gt;May-17 A 60&lt;/P&gt;
&lt;P&gt;Jun-17 A 70&lt;/P&gt;
&lt;P&gt;Jul-17 A 80&lt;/P&gt;
&lt;P&gt;Aug-17 A 90&lt;/P&gt;
&lt;P&gt;Sep-17 A 100&lt;/P&gt;
&lt;P&gt;Oct-17 A 110&lt;/P&gt;
&lt;P&gt;Nov-17 A 120&lt;/P&gt;
&lt;P&gt;Dec-17 A 130&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#000080" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;If&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i am running for example Dec17, I need rolling previous &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;12&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; months datasets (from Dec17 back to Jan17) created based on snapdate using macros&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;I can code manually as &lt;/FONT&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;below.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; But i am looking to implement this using macros and do loop&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;data test_201712 test_201711 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; test_201701;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;'31Dec2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" color="#0000ff" size="2"&gt;then&lt;/FONT&gt; &lt;FONT face="Courier New" color="#0000ff" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201712;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;'30Nov2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" color="#0000ff" size="2"&gt;then&lt;/FONT&gt; &lt;FONT face="Courier New" color="#0000ff" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201711;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;if date = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color="#008080" size="2"&gt;'31Jan2017'd&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; then output test_201701;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color="#000080" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any suggestions?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;There is no variable named "date" in dataset test.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please explain the next step, because the posted data-step seems to be useless. &lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:19:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434859#M107959</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2018-02-07T14:19:17Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434864#M107961</link>
      <description>&lt;P&gt;sorry, that date should have read snapdate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;data test_201712 test_201711 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; test_201701;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Dec2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201712;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Nov2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201711;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;if snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Jan2017'd&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt; then output test_201701;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:24:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434864#M107961</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T14:24:20Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434868#M107962</link>
      <description>&lt;P&gt;data test_201712 test_201711 test_201710 test_201709 test_201708 test_201707 test_201706&lt;/P&gt;&lt;P&gt;test_201705 test_201704 test_201703 test_201702 test_201701;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Dec2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201712;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Nov2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201711;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Oct2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201710;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Sep2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201709;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Aug2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201708;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Jul2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201707;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Jun2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201706;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31May2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201705;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'30Apr2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201704;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Mar2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201703;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'28Feb2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201702;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; snapdate = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;'31Jan2017'd&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; test_201701;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:29:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434868#M107962</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T14:29:41Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434869#M107963</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Why do you want to create a separate (single-row) dataset for each month ?&lt;/P&gt;
&lt;P&gt;There is probably a better way to achieve your goal.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:30:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434869#M107963</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2018-02-07T14:30:57Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434873#M107964</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;That was just for illustration purpose. My intended dataset has&amp;nbsp;approx. 1 million rows and increasing for each month and is historical dating back to Jan2010. I only need rolling previous 12 months&lt;/P&gt;&lt;P&gt;I&amp;nbsp;need to separate the observations based on snapdate and create previous 12 months rolling datasets&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 14:39:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434873#M107964</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T14:39:27Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434883#M107968</link>
      <description>&lt;P&gt;Then filter out data you don't want:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have (where=(snapdate &amp;gt;= intnx('year',today,1)));
run;&lt;/PRE&gt;
&lt;P&gt;Then work with the one dataset.&amp;nbsp; It is never a good idea to split data out into different datasets, all you will do is create far more (probably macro) code to try to deal with it, and in the process create more read/writes and processor use than one datastep.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 15:03:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434883#M107968</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-02-07T15:03:04Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434910#M107981</link>
      <description>&lt;P&gt;Thanks for the reply. I do agree.&lt;/P&gt;&lt;P&gt;But in my instance, currently, legacy report code does look for previous 12 months worth datasets in legacy world.&lt;/P&gt;&lt;P&gt;I have new warehouse dataset with historical information. I need to repoint the legacy code to pick up new warehouse information. For that I need&amp;nbsp;to create 12 historical monthly dataset and feed through the old report code replacing legacy datasets.&lt;/P&gt;&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 15:45:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434910#M107981</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T15:45:23Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434940#M107990</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is not clear which format is your snapdate variable so you will probably have to adapt a little to suit your needs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
infile cards;
informat snapdate monyy.;
Input snapdate Account $ Amount;
cards;
Dec16 A 10
Jan17 A 20
Feb17 A 30
Mar17 A 40
Apr17 A 50
May17 A 60
Jun17 A 70
Jul17 A 80
Aug17 A 90
Sep17 A 100
Oct17 A 110
Nov17 A 120
Dec17 A 130
;

run;

%macro split;

    data _NULL_;
        length lst_data $200.;
        
        lst_data='';

        do i=0 to 11;
            dt=intnx('month','01Dec17'd,-i);
            lst_data=cat(strip(lst_data),' ','test_',year(dt),put(month(dt),z2.));
        end;

        call symputx("lst_data",lst_data);
    run;
            
    data &amp;amp;lst_data.;
        set test;

        %do i=1 %to %sysfunc(countw(&amp;amp;lst_data.));
            if snapdate=intnx('month','01Dec17'd,-&amp;amp;i.+1) then output %scan(&amp;amp;lst_data.,&amp;amp;i.,%str( ));
        %end;    
    run;

%mend;

%split;

proc print data=test_201701;
format snapdate monyy.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 07 Feb 2018 16:18:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434940#M107990</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2018-02-07T16:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: How do I create datasets based on date using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434955#M107995</link>
      <description>&lt;P&gt;Thank you for your reply.&lt;/P&gt;&lt;P&gt;snapdate is in monyy5. format.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2018 16:51:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-create-datasets-based-on-date-using-macros/m-p/434955#M107995</guid>
      <dc:creator>anandrc</dc:creator>
      <dc:date>2018-02-07T16:51:09Z</dc:date>
    </item>
  </channel>
</rss>

