<?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: Macro to create dummy variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130513#M26633</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;Is the sql step equivalent to creating the maxtenure parameter?&lt;/P&gt;&lt;P&gt;%let maxtenure=77; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 May 2013 19:25:41 GMT</pubDate>
    <dc:creator>DangIT</dc:creator>
    <dc:date>2013-05-06T19:25:41Z</dc:date>
    <item>
      <title>Macro to create dummy variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130509#M26629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My dataset looks like &lt;/P&gt;&lt;P&gt;ID JoinDate Churn_Date Tenure&lt;/P&gt;&lt;P&gt;1 12Nov2011 31Dec2011 2 &lt;/P&gt;&lt;P&gt;2 14Dec2011 30Apr2012 5&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Churn Date is always month end, Tenure is number of months between joinDate and Churn_Date from the first day of month of JoinDate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to create dummy variables for reference of the MonthEnd date from JoinDate, my ideal dataset would look like:&lt;/P&gt;&lt;P&gt;ID JoinDate Churn_Date Tenure MonthEnd_1 MonthEnd_2 MonthEnd_&lt;X&gt;&lt;/X&gt;&lt;/P&gt;&lt;P&gt;1 12Nov2011 31Dec2011 2 31Nov2011 31Dec2011&lt;/P&gt;&lt;P&gt;2 14Dec2011 30Apr2012 5 31Dec2011 31Jan2012 29Feb2012 ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the X will be defined by the number of months Tenure and the function i'm using to get MonthEnd date is:&lt;/P&gt;&lt;P&gt;MonthEnd_1 = intnx('month',joindate,0,'e');&lt;/P&gt;&lt;P&gt;MonthEnd_2 = intnx('month',joindate,1,'e');&lt;/P&gt;&lt;P&gt;etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because Tenure will be dynamic month to month, I was hoping to create a macro to automate this process of creating these dummy variables in my dataset, any help is greatly appreciated.&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 16:28:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130509#M26629</guid>
      <dc:creator>DangIT</dc:creator>
      <dc:date>2013-05-06T16:28:03Z</dc:date>
    </item>
    <item>
      <title>Re: Macro to create dummy variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130510#M26630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Depending on your data ranges a macro may not be needed. Please see this thread for similar &lt;A _jive_internal="true" href="https://communities.sas.com/thread/43560"&gt;https://communities.sas.com/thread/43560&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 16:42:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130510#M26630</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-05-06T16:42:17Z</dc:date>
    </item>
    <item>
      <title>Re: Macro to create dummy variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130511#M26631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The Tenure variable currently ranges from 1 to a max of 77 months.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 16:51:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130511#M26631</guid>
      <dc:creator>DangIT</dc:creator>
      <dc:date>2013-05-06T16:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: Macro to create dummy variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130512#M26632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data want ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; set have ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; array MonthEnd_ (77) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; format MonthEnd_: date9. ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; do _n_=1 to tenure ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MonthEnd_(_n_) = intnx('month',joindate,_n_-1,'e');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now if you want you can make the 77 above be dynamic by finding the maximum value of TENURE from the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;proc sql noprint ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; select max(1, max(tenure) ) into :maxtenure&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; from have&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;array MonthEnd_ (&amp;amp;maxtenure) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 18:59:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130512#M26632</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-05-06T18:59:00Z</dc:date>
    </item>
    <item>
      <title>Re: Macro to create dummy variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130513#M26633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;Is the sql step equivalent to creating the maxtenure parameter?&lt;/P&gt;&lt;P&gt;%let maxtenure=77; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 19:25:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-to-create-dummy-variables/m-p/130513#M26633</guid>
      <dc:creator>DangIT</dc:creator>
      <dc:date>2013-05-06T19:25:41Z</dc:date>
    </item>
  </channel>
</rss>

