<?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: SAS selecting rows from historical dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330626#M74214</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;Sorry as i think throught it, i shouldnt drops the ones that never went x&amp;gt;2. So for the ones which has X &amp;lt; 2, i would need to retain the most latest record. In the data below ID-4 has X=1 throughout, so I need to retain the last record for 4, which is &lt;FONT color="#ff0000"&gt;4 20160430 1 4&lt;/FONT&gt;.&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yymmdd8.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; X Y;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;date9.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;1 20160131 1 1&lt;/P&gt;&lt;P&gt;1 20160229 1 2&lt;/P&gt;&lt;P&gt;1 20160331 2 3&lt;/P&gt;&lt;P&gt;1 20160430 3 4&lt;/P&gt;&lt;P&gt;1 20160531 3 5&lt;/P&gt;&lt;P&gt;1 20160630 3 6&lt;/P&gt;&lt;P&gt;2 20160131 1 1&lt;/P&gt;&lt;P&gt;2 20160229 1 2&lt;/P&gt;&lt;P&gt;2 20160331 2 3&lt;/P&gt;&lt;P&gt;2 20160430 2 4&lt;/P&gt;&lt;P&gt;2 20160531 3 5&lt;/P&gt;&lt;P&gt;2 20160630 3 6&lt;/P&gt;&lt;P&gt;3 20160131 1 1&lt;/P&gt;&lt;P&gt;3 20160229 4 2&lt;/P&gt;&lt;P&gt;3 20160331 9 3&lt;/P&gt;&lt;P&gt;3 20160430 9 4&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160131 1 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160229 1 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160331 1 3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160430 1 4&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160131 1 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160229 1 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160331&amp;nbsp;2 3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160430&amp;nbsp;2 4&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;thanks&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 07 Feb 2017 21:48:38 GMT</pubDate>
    <dc:creator>sivakoya</dc:creator>
    <dc:date>2017-02-07T21:48:38Z</dc:date>
    <item>
      <title>SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330610#M74207</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have following dataset.&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yymmdd8.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; X Y;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;date9.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;1 20160131 1 1&lt;/P&gt;&lt;P&gt;1 20160229 1 2&lt;/P&gt;&lt;P&gt;1 20160331 2 3&lt;/P&gt;&lt;P&gt;1 20160430 3 4&lt;/P&gt;&lt;P&gt;1 20160531 3 5&lt;/P&gt;&lt;P&gt;1 20160630 3 6&lt;/P&gt;&lt;P&gt;2 20160131 1 1&lt;/P&gt;&lt;P&gt;2 20160229 1 2&lt;/P&gt;&lt;P&gt;2 20160331 2 3&lt;/P&gt;&lt;P&gt;2 20160430 2 4&lt;/P&gt;&lt;P&gt;2 20160531 3 5&lt;/P&gt;&lt;P&gt;2 20160630 3 6&lt;/P&gt;&lt;P&gt;3 20160131 1 1&lt;/P&gt;&lt;P&gt;3 20160229 4 2&lt;/P&gt;&lt;P&gt;3 20160331 9 3&lt;/P&gt;&lt;P&gt;3 20160430 9 4&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;31Jan2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29Feb2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;31Mar2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;30Apr2016&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;31May2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30Jun2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;31Jan2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;29Feb2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;31Mar2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;30Apr2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;31May2016&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;5&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;30Jun2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;31Jan2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;29Feb2016&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;31Mar2016&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30Apr2016&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From this I need to select the record for each ID, at the instance when (X &amp;gt; 2) for the first time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So from the above dataset my output should be:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30Apr2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;31May2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;29Feb2016&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried doing:&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yymmdd8.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; X Y;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;date9.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;1 20160131 1 1&lt;/P&gt;&lt;P&gt;1 20160229 1 2&lt;/P&gt;&lt;P&gt;1 20160331 2 3&lt;/P&gt;&lt;P&gt;1 20160430 3 4&lt;/P&gt;&lt;P&gt;1 20160531 3 5&lt;/P&gt;&lt;P&gt;1 20160630 3 6&lt;/P&gt;&lt;P&gt;2 20160131 1 1&lt;/P&gt;&lt;P&gt;2 20160229 1 2&lt;/P&gt;&lt;P&gt;2 20160331 2 3&lt;/P&gt;&lt;P&gt;2 20160430 2 4&lt;/P&gt;&lt;P&gt;2 20160531 3 5&lt;/P&gt;&lt;P&gt;2 20160630 3 6&lt;/P&gt;&lt;P&gt;3 20160131 1 1&lt;/P&gt;&lt;P&gt;3 20160229 4 2&lt;/P&gt;&lt;P&gt;3 20160331 9 3&lt;/P&gt;&lt;P&gt;3 20160430 9 4&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;data&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=test &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;out&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=test1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;descending&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; x date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test2;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; first.id &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;output&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;But this would give me:&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30Apr2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;31May2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;31Mar2016&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Wrong entry for Id=3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any easy way to do this on a dataset&amp;nbsp;with 60million records.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 21:00:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330610#M74207</guid>
      <dc:creator>sivakoya</dc:creator>
      <dc:date>2017-02-07T21:00:00Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330617#M74211</link>
      <description>&lt;P&gt;I'm sure you will get to choose from a few possibilities.&amp;nbsp; Here's one that assumes your data set is sorted by ID DATE:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;need_a_record='Y';&lt;/P&gt;
&lt;P&gt;do until (last.id);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by id;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; if need_a_record='Y' and X &amp;gt; 2 then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; need_a_record='N';&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#993300"&gt;if need_a_record='Y' then output;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;drop need_a_record;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#993300"&gt;*** Statement added to handle the change in requirements.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 22:16:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330617#M74211</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-02-07T22:16:29Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330619#M74212</link>
      <description>&lt;P&gt;If not sorted:&lt;/P&gt;
&lt;PRE&gt;proc sort data=test ;
   by id date;
run;

data want;&lt;BR /&gt;   set subset (where=(x &amp;gt;2));
   by id date;
   if first.id;
run; 
&lt;/PRE&gt;
&lt;P&gt;If sorted by id and date then the datastep should suffice assuming you do not want any id if there is never a value greater than 2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you do want something when there are not any values for x &amp;gt; 2 then we need a rule.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 21:34:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330619#M74212</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-02-07T21:34:36Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330626#M74214</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;Sorry as i think throught it, i shouldnt drops the ones that never went x&amp;gt;2. So for the ones which has X &amp;lt; 2, i would need to retain the most latest record. In the data below ID-4 has X=1 throughout, so I need to retain the last record for 4, which is &lt;FONT color="#ff0000"&gt;4 20160430 1 4&lt;/FONT&gt;.&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; test;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yymmdd8.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; X Y;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;date9.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;1 20160131 1 1&lt;/P&gt;&lt;P&gt;1 20160229 1 2&lt;/P&gt;&lt;P&gt;1 20160331 2 3&lt;/P&gt;&lt;P&gt;1 20160430 3 4&lt;/P&gt;&lt;P&gt;1 20160531 3 5&lt;/P&gt;&lt;P&gt;1 20160630 3 6&lt;/P&gt;&lt;P&gt;2 20160131 1 1&lt;/P&gt;&lt;P&gt;2 20160229 1 2&lt;/P&gt;&lt;P&gt;2 20160331 2 3&lt;/P&gt;&lt;P&gt;2 20160430 2 4&lt;/P&gt;&lt;P&gt;2 20160531 3 5&lt;/P&gt;&lt;P&gt;2 20160630 3 6&lt;/P&gt;&lt;P&gt;3 20160131 1 1&lt;/P&gt;&lt;P&gt;3 20160229 4 2&lt;/P&gt;&lt;P&gt;3 20160331 9 3&lt;/P&gt;&lt;P&gt;3 20160430 9 4&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160131 1 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160229 1 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160331 1 3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;4 20160430 1 4&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160131 1 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160229 1 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160331&amp;nbsp;2 3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#99cc00"&gt;5&amp;nbsp;20160430&amp;nbsp;2 4&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;thanks&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 21:48:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330626#M74214</guid>
      <dc:creator>sivakoya</dc:creator>
      <dc:date>2017-02-07T21:48:38Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330648#M74220</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;thanks&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2017 22:54:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330648#M74220</guid>
      <dc:creator>sivakoya</dc:creator>
      <dc:date>2017-02-07T22:54:17Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330678#M74234</link>
      <description>&lt;P&gt;Another approach:&lt;/P&gt;
&lt;PRE&gt;proc sort data=test;
   by id date;
run;
data want;
   set test;
   by id date;
   retain found;
   if first.id then  found=0;
   if found=0 and x&amp;gt;2 then do;
      output;
      found=1;
   end;
   if last.id and found=0 then output;
   drop found;
run;
&lt;/PRE&gt;
&lt;P&gt;Please post code in code boxes opened with the {i} icon. Sometimes we get artifacts from pasting in the main window as your code gets transformed to html in the main box of the message. For instance copy some of your code from the forum and paste back into your editor. See any difference?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 00:19:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330678#M74234</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-02-08T00:19:38Z</dc:date>
    </item>
    <item>
      <title>Re: SAS selecting rows from historical dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330970#M74334</link>
      <description>&lt;PRE&gt;data have;
input id date yymmdd8. X Y;
format date date9.;
datalines;
1 20160131 1 1
1 20160229 1 2
1 20160331 2 3
1 20160430 3 4
1 20160531 3 5
1 20160630 3 6
2 20160131 1 1
2 20160229 1 2
2 20160331 2 3
2 20160430 2 4
2 20160531 3 5
2 20160630 3 6
3 20160131 1 1
3 20160229 4 2
3 20160331 9 3
3 20160430 9 4
;
run;



data want;
set have;
prev_x = lag(X);
if prev_x &amp;gt; 2 and x &amp;gt; 2 then bad_now = 'N';
else do; if x&amp;gt;2 then bad_now='Y'; else bad_now='N'; end;
run;

data final;
set want;
where bad_now='Y';
run;&lt;/PRE&gt;&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;thanks. I have thought of&amp;nbsp;another approach &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 20:11:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-selecting-rows-from-historical-dataset/m-p/330970#M74334</guid>
      <dc:creator>sivakoya</dc:creator>
      <dc:date>2017-02-08T20:11:15Z</dc:date>
    </item>
  </channel>
</rss>

