<?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: Select one-but-last day of the month in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276330#M269624</link>
    <description>&lt;P&gt;What is the definition of:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"one-but-last trading day of the month for each firm?"&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 09 Jun 2016 18:18:29 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-06-09T18:18:29Z</dc:date>
    <item>
      <title>Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276326#M269623</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have the following data and following code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; have;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;informat&lt;/SPAN&gt; days &lt;SPAN&gt;ddmmyy10.&lt;/SPAN&gt; company &lt;SPAN&gt;$8.&lt;/SPAN&gt; ;&lt;SPAN&gt;format&lt;/SPAN&gt; days &lt;SPAN&gt;date9.&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;input&lt;/SPAN&gt;&amp;nbsp; Days&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Company ;&lt;/P&gt;
&lt;P&gt;cards&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;27/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;28/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;29/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;30/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;31/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;27/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;28/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;29/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;30/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;30/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;30/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm1&lt;/P&gt;
&lt;P&gt;27/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;28/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;29/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;30/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;31/07/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;27/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;28/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;29/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;30/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;30/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;31/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;31/08/2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Firm2&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sql&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;create table&lt;SPAN&gt; want &lt;/SPAN&gt;as&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;SPAN&gt;select&lt;/SPAN&gt; company, days, month(days) &lt;SPAN&gt;as&lt;/SPAN&gt; month&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;SPAN&gt;from&lt;/SPAN&gt; have&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;SPAN&gt;group&lt;/SPAN&gt; &lt;SPAN&gt;by&lt;/SPAN&gt; company, calculated month&lt;/P&gt;
&lt;P&gt;&amp;nbsp; having days=max(days);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;This code selects the last day of the month for each firm. How can I change it to select the one-but-last trading day of the month for each firm?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I know it should be easy question, but still I find it a bit confusing &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Look forward to your help.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ruslan&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 18:36:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276326#M269623</guid>
      <dc:creator>Ruslan</dc:creator>
      <dc:date>2016-06-09T18:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: Select one-but-last day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276330#M269624</link>
      <description>&lt;P&gt;What is the definition of:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"one-but-last trading day of the month for each firm?"&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 18:18:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276330#M269624</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-06-09T18:18:29Z</dc:date>
    </item>
    <item>
      <title>Re: Select one-but-last day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276335#M269625</link>
      <description>&lt;P&gt;Hi Reeza,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is one day before the last. So if I have data that end on 31st of Jan, I need to select 30th of Jan. If the data are structured such as immediately after 31st of Jan, I have 27th of Jan, then I need to select 27th of Jan and so on. I need to do this for each company and select variables that are measured on this day.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Look forward to your help.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 18:24:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276335#M269625</guid>
      <dc:creator>Ruslan</dc:creator>
      <dc:date>2016-06-09T18:24:02Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276346#M269626</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sql;
select unique
    Company,
    max(Days) as beforeLastDay format=ddmmyy10.
from
    (select 
        Company,
        Days
     from have
     group by Company
     having days &amp;lt; max(days))
group by Company
having days = max(Days);
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Jun 2016 18:37:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276346#M269626</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-06-09T18:37:37Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276348#M269627</link>
      <description>&lt;P&gt;If you are looking for all matching records (matching on the company / day), I think the SQL approach could be modified to do that.&amp;nbsp; Here's a DATA step approach instead:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by company descending days;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by company descending days;&lt;/P&gt;
&lt;P&gt;if first.company then counter=0;&lt;/P&gt;
&lt;P&gt;if first.days then counter + 1;&lt;/P&gt;
&lt;P&gt;if counter = 2;&lt;/P&gt;
&lt;P&gt;drop counter;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 18:56:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276348#M269627</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-06-09T18:56:20Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276353#M269628</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;If you are looking for all matching records (matching on the company / day), I think the SQL approach could be modified to do that.&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Remove keyword UNIQUE to get all last-but-one-day records.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 19:09:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276353#M269628</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-06-09T19:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276362#M269629</link>
      <description>&lt;P&gt;I was under the impression that the OP is interested in the last but one day per company&amp;nbsp;&lt;EM&gt;and month&lt;/EM&gt;. But, of course, PG's PROC SQL step can be extended accordingly, similar to the code used by the&amp;nbsp;OP.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/39584"&gt;@Ruslan﻿&lt;/a&gt;: Does your real dataset cover a time span greater than&amp;nbsp;one&amp;nbsp;year (for a particular company)? If so, your approach using the MONTH function is problematic, as it would group, e.g. August 1999 and August 2000 together and select the last day only from 2000.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 20:35:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276362#M269629</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-06-09T20:35:16Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276366#M269630</link>
      <description>&lt;P&gt;Should have taken more time to read the question. Thank you&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh﻿&lt;/a&gt;. Last but one day &lt;U&gt;of the month&lt;/U&gt; solution:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select unique
    Company,
    max(Days) as beforeLastDay format=ddmmyy10.
from
    (select 
        Company,
        Days
     from have
     group by Company, intnx("MONTH", Days, 0)
     having days &amp;lt; max(days))
group by Company, intnx("MONTH", Days, 0)
having days = max(Days);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Jun 2016 21:00:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276366#M269630</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-06-09T21:00:28Z</dc:date>
    </item>
    <item>
      <title>Re: Select last-but-one day of the month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276369#M269631</link>
      <description>&lt;P&gt;Exactly, this without the "&lt;FONT face="courier new,courier"&gt;unique&lt;/FONT&gt;" would produce what (I thought) should be the intended result.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jun 2016 21:06:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-last-but-one-day-of-the-month/m-p/276369#M269631</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-06-09T21:06:03Z</dc:date>
    </item>
  </channel>
</rss>

