<?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 How to create a macro date9 variable that's one day less than another macro date9 variable? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89298#M18967</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a macrovariable called &amp;amp;date_today. It has the date9 format, and appears as 23NOV2012. I need to set up a second macrovariable called &amp;amp;date_yesterday, using a %let statement. It should be based on &amp;amp;date_today but subtract one day from it, so that it becomes 22NOV2012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've spent two hours looking for a way to accomplish this, and tried numerous approaches, yet it never seems to work. It's terribly annoying, because it's such a simple thing to accomplish in a DATA step. This is the very simple gist of what I want to do: %let &amp;amp;date_yesterday = &amp;amp;date_now -1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone please help me resolve this and end my frustrations? &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. I know how to set up &amp;amp;date_yesterday independently of the &amp;amp;date_today, using INTNX, but that's not what I need. The new variable must be the equivalent of "&amp;amp;date_today minus one day".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Dec 2012 21:32:32 GMT</pubDate>
    <dc:creator>TurnTheBacon</dc:creator>
    <dc:date>2012-12-03T21:32:32Z</dc:date>
    <item>
      <title>How to create a macro date9 variable that's one day less than another macro date9 variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89298#M18967</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a macrovariable called &amp;amp;date_today. It has the date9 format, and appears as 23NOV2012. I need to set up a second macrovariable called &amp;amp;date_yesterday, using a %let statement. It should be based on &amp;amp;date_today but subtract one day from it, so that it becomes 22NOV2012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've spent two hours looking for a way to accomplish this, and tried numerous approaches, yet it never seems to work. It's terribly annoying, because it's such a simple thing to accomplish in a DATA step. This is the very simple gist of what I want to do: %let &amp;amp;date_yesterday = &amp;amp;date_now -1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone please help me resolve this and end my frustrations? &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. I know how to set up &amp;amp;date_yesterday independently of the &amp;amp;date_today, using INTNX, but that's not what I need. The new variable must be the equivalent of "&amp;amp;date_today minus one day".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 21:32:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89298#M18967</guid>
      <dc:creator>TurnTheBacon</dc:creator>
      <dc:date>2012-12-03T21:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a macro date9 variable that's one day less than another macro date9 variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89299#M18968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you can use today() instead of &amp;amp;date_today, it becomes a little simpler.&amp;nbsp; But here's a way to handle the problem as is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let date_yesterday = %sysfunc( putn(&amp;nbsp; %sysfunc(inputn(&amp;amp;date_today,date9)) - 1, date9));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that %sysfunc does not permit PUT and INPUT functions, but requires you to switch to PUTN / PUTC, or INPUTN / INPUTC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 22:00:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89299#M18968</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-12-03T22:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a macro date9 variable that's one day less than another macro date9 variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89300#M18969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let date1 = 30NOV2012;&lt;/P&gt;&lt;P&gt;%let date2 = %sysfunc(putn("&amp;amp;date1"d - 1,date9.));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;date1;&lt;/P&gt;&lt;P&gt;%put &amp;amp;date2;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 22:05:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89300#M18969</guid>
      <dc:creator>twocanbazza</dc:creator>
      <dc:date>2012-12-03T22:05:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a macro date9 variable that's one day less than another macro date9 variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89301#M18970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SImpler than mine, and it works.&amp;nbsp; I'll vote for Barry's solution!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 22:13:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89301#M18970</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-12-03T22:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a macro date9 variable that's one day less than another macro date9 variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89302#M18971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wonder if you find these two macros of mine handy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- two utilities --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%macro&lt;/STRONG&gt;&lt;SPAN&gt; date2num(date, informat=&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;anydtdte.&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- strip quotations and postfix d from date literal if any. --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- quotations are intentionally doubled to prevent unmatched error --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; date=&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(prxchange(s/[''""]d?//i,-1,&amp;amp;date));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(inputn(&amp;amp;date,&amp;amp;informat))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%mend&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; date2num;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%macro&lt;/STRONG&gt;&lt;SPAN&gt; num2date(num, format=&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;date10.&lt;/SPAN&gt;&lt;SPAN&gt;, literal=&lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;1&lt;/STRONG&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%local&lt;/SPAN&gt;&lt;SPAN&gt; n;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; n = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(putn(&amp;amp;num,&amp;amp;format));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%if&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;literal &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%then&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;"&amp;amp;n"d&lt;/STRONG&gt;&lt;SPAN&gt;; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%else&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;n;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%mend&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; num2date;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- usage example --*;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; date1 = 30nov2012;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; barry = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(putn("&amp;amp;date1"d-1, date9.));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; chang = %num2date(%date2num(&amp;amp;date1) - 1, literal=0);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%put&lt;/SPAN&gt;&lt;SPAN&gt; barry=&amp;amp;barry chang=&amp;amp;chang;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- on log&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp; barry=29NOV2012 chang=29NOV2012&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp; --*;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2012 18:14:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-macro-date9-variable-that-s-one-day-less-than/m-p/89302#M18971</guid>
      <dc:creator>chang_y_chung_hotmail_com</dc:creator>
      <dc:date>2012-12-05T18:14:15Z</dc:date>
    </item>
  </channel>
</rss>

