<?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 get first monday?????? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92042#M26225</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options symbolgen;&lt;BR /&gt;data test;&lt;BR /&gt;format month date9.;&lt;BR /&gt;format firstmonday date9.;&lt;BR /&gt;format today date9.;&lt;/P&gt;&lt;P&gt;month = intnx('month',today(),0);&lt;BR /&gt;firstmonday = intnx('week',month,1)+1;&lt;BR /&gt;today=today();&lt;/P&gt;&lt;P&gt;if&amp;nbsp; firstmonday eq today then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('MyMacroVariable','RunIt');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt; else do;&lt;BR /&gt; call symput('MyMacroVariable','NoRunIt');&lt;BR /&gt; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro check2run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;MyMacroVariable eq RunIt %then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put hai;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;&amp;nbsp; %else %do ;&lt;BR /&gt;&amp;nbsp; %put no hai;&lt;BR /&gt;&amp;nbsp; %end;&lt;BR /&gt;%mend;&lt;BR /&gt;%check2run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Aug 2012 18:44:33 GMT</pubDate>
    <dc:creator>sassharp</dc:creator>
    <dc:date>2012-08-13T18:44:33Z</dc:date>
    <item>
      <title>macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92041#M26224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;trying to get run the below macro only on first monday in any given month. Can anybody fix this macro?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options symbolgen;&lt;BR /&gt;data test;&lt;BR /&gt;format month date9.;&lt;BR /&gt;format firstmonday date9.;&lt;/P&gt;&lt;P&gt;month = intnx('month',today(),0);&lt;BR /&gt;firstmonday = intnx('week',month,1)+1;&lt;/P&gt;&lt;P&gt;if&amp;nbsp; firstmonday= today() then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('MyMacroVariable','RunIt');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*the below macro only run on first of the monday in any given month*/&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%macro check2run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;MyMacroVariable eq RunIt %then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put hai;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;%mend;&lt;BR /&gt;%check2run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2012 18:25:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92041#M26224</guid>
      <dc:creator>sassharp</dc:creator>
      <dc:date>2012-08-13T18:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92042#M26225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options symbolgen;&lt;BR /&gt;data test;&lt;BR /&gt;format month date9.;&lt;BR /&gt;format firstmonday date9.;&lt;BR /&gt;format today date9.;&lt;/P&gt;&lt;P&gt;month = intnx('month',today(),0);&lt;BR /&gt;firstmonday = intnx('week',month,1)+1;&lt;BR /&gt;today=today();&lt;/P&gt;&lt;P&gt;if&amp;nbsp; firstmonday eq today then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('MyMacroVariable','RunIt');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt; else do;&lt;BR /&gt; call symput('MyMacroVariable','NoRunIt');&lt;BR /&gt; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro check2run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;MyMacroVariable eq RunIt %then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put hai;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;&amp;nbsp; %else %do ;&lt;BR /&gt;&amp;nbsp; %put no hai;&lt;BR /&gt;&amp;nbsp; %end;&lt;BR /&gt;%mend;&lt;BR /&gt;%check2run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2012 18:44:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92042#M26225</guid>
      <dc:creator>sassharp</dc:creator>
      <dc:date>2012-08-13T18:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92043#M26226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could just do all of the assignments and check in the macro.&amp;nbsp; e.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro check2run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if %sysfunc(day(%sysfunc(today())))&amp;lt;=7 and&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %sysfunc(mod(%sysfunc(today()),7))=3 %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put hai;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%check2run&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt;Note: The above macro was modified based on a better and easier to understand set of functions that were suggested by mkeintz&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2012 18:58:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92043#M26226</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-08-13T18:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92044#M26227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is another way. hth.&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; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- returns 1 (true) if the given date is the first monday of the month --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; isFMoM(date=&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(today()));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%local&lt;/SPAN&gt;&lt;SPAN&gt; first i monday;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; first = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(intnx(month,&amp;amp;date,0,b));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%do&lt;/SPAN&gt;&lt;SPAN&gt; i = &lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%to&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN&gt; monday = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysevalf&lt;/SPAN&gt;&lt;SPAN&gt;(&amp;amp;first + &amp;amp;i);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%if&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(weekday(&amp;amp;monday)) = &lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%then&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%do&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysevalf&lt;/SPAN&gt;&lt;SPAN&gt;((&amp;amp;date - &amp;amp;monday) = &lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%return&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%end&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%end&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; isFMoM;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt;That was clumsy! I like mkeintz's better, which in my translation, becomes:&lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt;&amp;nbsp; &lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt;&lt;SPAN&gt;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- returns 1 if date is the 1st monday of the month. 0 otherwise --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%macro&lt;/STRONG&gt;&lt;SPAN&gt; isFMoM(date=&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(today()));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysevalf&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(day(&amp;amp;date))&amp;lt;=&lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;7&lt;/STRONG&gt;&lt;SPAN&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(weekday(&amp;amp;date))=&lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;2&lt;/STRONG&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%mend&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; isFMoM;&lt;/SPAN&gt;&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;For returning the 1st monday of the month of a given date, I like patrick's: &lt;/P&gt;&lt;P style="font-family: Consolas, Courier New; font-size: 90%; line-height: 1.1;"&gt; &lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; %&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;*-- returns date value of the first monday of the month of the given date --*;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%macro&lt;/STRONG&gt;&lt;SPAN&gt; FMoM(date=&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(today()));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(intnx(&lt;/SPAN&gt;&lt;SPAN style="color: #008080;"&gt;week.3&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN&gt;(intnx(month,&amp;amp;date,&lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;0&lt;/STRONG&gt;&lt;SPAN&gt;,b)),&lt;/SPAN&gt;&lt;STRONG style="color: #008080;"&gt;0&lt;/STRONG&gt;&lt;SPAN&gt;,e))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080;"&gt;%mend&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; FMoM;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2012 20:23:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92044#M26227</guid>
      <dc:creator>chang_y_chung_hotmail_com</dc:creator>
      <dc:date>2012-08-13T20:23:05Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92045#M26228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is from Patrick.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;%let year=2011;
%let month=8;


%let monday=%sysfunc(intnx(week.3,%sysfunc(mdy(&amp;amp;month,1,&amp;amp;year)),0,e),date9.);

%put &amp;amp;monday ;
&lt;/PRE&gt;&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;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 04:46:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92045#M26228</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-08-14T04:46:02Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92046#M26229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;sassharp: you asked a question about the code I posted but, as I was writing the response, you apparently deleted the post.&amp;nbsp; Anyhow, I thought the answer was worthwhile sharing.&amp;nbsp; You had asked what the purpose of the following code was:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%sysfunc(mod(%sysfunc(today()),7))=3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is simply one of two ways to identify day of week.&amp;nbsp; The two ways are probably easiest to show with a small SAS program.&amp;nbsp; The following takes all of the dates from August1, 2012 to August 14, 2012 and identifies the day of the week by using two functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the mod(date,7) function, Fridays are equal to 0, Saturdays=1, Sundays=2, Mondays=3, etc. thru 6&lt;/P&gt;&lt;P&gt;If you use the weekday(date) function, Sundays=1, Mondays=2, etc. thru 7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format i date9.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=19206 to 19219;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x=mod(i,7);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; y=weekday(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 19:46:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92046#M26229</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-08-14T19:46:55Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92047#M26230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="text-indent: -0.25in; padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Symbol; color: #575757; font-size: 10pt;"&gt;&lt;SPAN class="pasted-list-info"&gt;·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;Thanks for your explanation. I assumed this way.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;Number of days between 01/01/1960 to 08/14/2012( todays date) = 19219&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;%sysfunc(mod(%sysfunc(today()),7))= mathematically mod(19219,7)= 4 &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;so the statement&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;(%sysfunc(mod(%sysfunc(today()),7))= mathematically mod(19219,7)= 3)&amp;nbsp;&amp;nbsp;&amp;nbsp; is not true&lt;/SPAN&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; .&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;So, the macro is not saying hai today.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;But, first monday in August 2012 is on 08/06/2012&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;Number of days between 01/01/1960 to 08/06/2012 = 19211&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;%sysfunc(mod(%sysfunc(today()),7))= mathematically mod(19211,7)= 3&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;so this above one is true but the other logical statement %if %sysfunc(day(%sysfunc(today())))&amp;lt;=7 which is also true.(since day(today()) on 08/06/2012 is 6 which is less than 7)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;so the macro said hai on 08/06/2012 and is going to say hai on first monday of every month.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;I say thankful for all your(@Arthur) explanation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;Correct me If I was wrong.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt;&lt;/SPAN&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; background: white; color: #575757; font-size: 10pt;"&gt;thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 45px;"&gt;&lt;SPAN lang="EN" style="font-family: Helvetica; color: #575757; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 22:59:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92047#M26230</guid>
      <dc:creator>sassharp</dc:creator>
      <dc:date>2012-08-14T22:59:09Z</dc:date>
    </item>
    <item>
      <title>Re: macro to get first monday??????</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92048#M26231</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I (if 1=1) think you got it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You might want to use the weekday function so that you don't have to keep explaining this to your co-workers.&amp;nbsp; And, ArtC might want to add this to a new chapter in one of his employment security papers but, honestly (I think), both weekday and mod functions (in this case) both require an understanding of what one is attempting to accomplish and how SAS functions work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 23:14:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/macro-to-get-first-monday/m-p/92048#M26231</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-08-14T23:14:25Z</dc:date>
    </item>
  </channel>
</rss>

