<?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 mathing current  oberservation with next observations to lookup in data step in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504218#M134908</link>
    <description>&lt;P&gt;I have a data set p2p as following&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="354"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="61"&gt;sellid&lt;/TD&gt;
&lt;TD width="61"&gt;buyid&lt;/TD&gt;
&lt;TD width="61"&gt;id&lt;/TD&gt;
&lt;TD width="171"&gt;date&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1144058&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;477211&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1569350&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;318100&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;350832&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;560400&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1466757&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;328802&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;827855&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1597616&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;5068647&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2282389&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1451751&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1661710&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1086373&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1854328&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;963867&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;406023&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;211396&lt;/TD&gt;
&lt;TD&gt;290802&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;719501&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1509387&lt;/TD&gt;
&lt;TD&gt;290496&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1086373&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;963867&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1597616&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2282389&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1867463&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2356403&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;196966&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1144058&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;744402&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1166120&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1514527&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;793936&lt;/TD&gt;
&lt;TD&gt;357766&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1617063&lt;/TD&gt;
&lt;TD&gt;357766&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;793936&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2414987&lt;/TD&gt;
&lt;TD&gt;661415&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1878751&lt;/TD&gt;
&lt;TD&gt;563862&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2527958&lt;/TD&gt;
&lt;TD&gt;415597&lt;/TD&gt;
&lt;TD&gt;2016/1/12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1288675&lt;/TD&gt;
&lt;TD&gt;347600&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1668672&lt;/TD&gt;
&lt;TD&gt;537277&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;5973865&lt;/TD&gt;
&lt;TD&gt;2084280&lt;/TD&gt;
&lt;TD&gt;2017/1/9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1012668&lt;/TD&gt;
&lt;TD&gt;299174&lt;/TD&gt;
&lt;TD&gt;2015/10/13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1301405&lt;/TD&gt;
&lt;TD&gt;415765&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2252908&lt;/TD&gt;
&lt;TD&gt;669278&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1910747&lt;/TD&gt;
&lt;TD&gt;133016&lt;/TD&gt;
&lt;TD&gt;2016/10/15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;760352&lt;/TD&gt;
&lt;TD&gt;620837&lt;/TD&gt;
&lt;TD&gt;2015/12/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1789216&lt;/TD&gt;
&lt;TD&gt;578613&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;that is the trade record peer to&amp;nbsp; peer.&lt;/P&gt;
&lt;P&gt;I want to find whether the seller buy again in the next 30 days,and ran the following code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set p2p curobs=obs1;
  obs2=obs1+1;
    do while (date2-date&amp;lt;30);
    set p2p(
        rename=(
        date=date2 
        sellid=sellid2   
        buyid=buyid2
        id=id2
        )
      ) point=obs2
    ;
    If buyid2=sellid  Then
      Flag = 1; 
    Else Flag = 0; 
    output;
    obs2+1; 
 end;
   
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The data step runing in a dead loop!!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please give me your help hand, thanks.&lt;/P&gt;</description>
    <pubDate>Mon, 15 Oct 2018 07:36:26 GMT</pubDate>
    <dc:creator>ShufeGuoding</dc:creator>
    <dc:date>2018-10-15T07:36:26Z</dc:date>
    <item>
      <title>How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504218#M134908</link>
      <description>&lt;P&gt;I have a data set p2p as following&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="354"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="61"&gt;sellid&lt;/TD&gt;
&lt;TD width="61"&gt;buyid&lt;/TD&gt;
&lt;TD width="61"&gt;id&lt;/TD&gt;
&lt;TD width="171"&gt;date&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1144058&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;477211&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1569350&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;318100&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;350832&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;560400&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1466757&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;328802&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;827855&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1597616&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;5068647&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;10626&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2282389&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1451751&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;823271&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1661710&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1086373&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1854328&lt;/TD&gt;
&lt;TD&gt;292173&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;963867&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;406023&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;211396&lt;/TD&gt;
&lt;TD&gt;290802&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;719501&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1509387&lt;/TD&gt;
&lt;TD&gt;290496&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1086373&lt;/TD&gt;
&lt;TD&gt;292221&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;963867&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1597616&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;289652&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2282389&lt;/TD&gt;
&lt;TD&gt;292213&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1867463&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;2356403&lt;/TD&gt;
&lt;TD&gt;292178&lt;/TD&gt;
&lt;TD&gt;2015/10/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;196966&lt;/TD&gt;
&lt;TD&gt;290497&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1144058&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;259210&lt;/TD&gt;
&lt;TD&gt;292202&lt;/TD&gt;
&lt;TD&gt;2016/11/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000023&lt;/TD&gt;
&lt;TD&gt;1536356&lt;/TD&gt;
&lt;TD&gt;289648&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;744402&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1166120&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1514527&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;793936&lt;/TD&gt;
&lt;TD&gt;357766&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;1617063&lt;/TD&gt;
&lt;TD&gt;357766&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000041&lt;/TD&gt;
&lt;TD&gt;793936&lt;/TD&gt;
&lt;TD&gt;107950&lt;/TD&gt;
&lt;TD&gt;2015/4/7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2414987&lt;/TD&gt;
&lt;TD&gt;661415&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1878751&lt;/TD&gt;
&lt;TD&gt;563862&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2527958&lt;/TD&gt;
&lt;TD&gt;415597&lt;/TD&gt;
&lt;TD&gt;2016/1/12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1288675&lt;/TD&gt;
&lt;TD&gt;347600&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1668672&lt;/TD&gt;
&lt;TD&gt;537277&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;5973865&lt;/TD&gt;
&lt;TD&gt;2084280&lt;/TD&gt;
&lt;TD&gt;2017/1/9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1012668&lt;/TD&gt;
&lt;TD&gt;299174&lt;/TD&gt;
&lt;TD&gt;2015/10/13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1301405&lt;/TD&gt;
&lt;TD&gt;415765&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;2252908&lt;/TD&gt;
&lt;TD&gt;669278&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1910747&lt;/TD&gt;
&lt;TD&gt;133016&lt;/TD&gt;
&lt;TD&gt;2016/10/15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;760352&lt;/TD&gt;
&lt;TD&gt;620837&lt;/TD&gt;
&lt;TD&gt;2015/12/27&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000043&lt;/TD&gt;
&lt;TD&gt;1789216&lt;/TD&gt;
&lt;TD&gt;578613&lt;/TD&gt;
&lt;TD&gt;2016/1/26&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;that is the trade record peer to&amp;nbsp; peer.&lt;/P&gt;
&lt;P&gt;I want to find whether the seller buy again in the next 30 days,and ran the following code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set p2p curobs=obs1;
  obs2=obs1+1;
    do while (date2-date&amp;lt;30);
    set p2p(
        rename=(
        date=date2 
        sellid=sellid2   
        buyid=buyid2
        id=id2
        )
      ) point=obs2
    ;
    If buyid2=sellid  Then
      Flag = 1; 
    Else Flag = 0; 
    output;
    obs2+1; 
 end;
   
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The data step runing in a dead loop!!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please give me your help hand, thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Oct 2018 07:36:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504218#M134908</guid>
      <dc:creator>ShufeGuoding</dc:creator>
      <dc:date>2018-10-15T07:36:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504228#M134909</link>
      <description />
      <pubDate>Mon, 15 Oct 2018 08:40:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504228#M134909</guid>
      <dc:creator>anagababu</dc:creator>
      <dc:date>2018-10-15T08:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504268#M134920</link>
      <description>&lt;P&gt;Better post the output you want.&lt;/P&gt;
&lt;P&gt;Here could give you a start.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs;
input sellid	buyid	id	date : yymmdd10.;
format date yymmdd10.;
cards;
1000023	1144058	292173	2016/11/7
1000023	477211	292178	2015/10/27
1000023	1569350	292178	2015/10/27
1000023	318100	289648	2015/4/7
1000023	350832	289652	2015/4/7
1000023	560400	289648	2015/4/7
1000023	259210	292173	2016/11/7
1000023	1466757	289652	2015/4/7
1000023	10626	292213	2016/11/7
1000023	259210	292221	2016/11/7
1000023	328802	292221	2016/11/7
1000023	827855	289648	2015/4/7
1000023	10626	292173	2016/11/7
1000023	823271	292173	2016/11/7
1000023	1597616	292202	2016/11/7
1000023	5068647	292202	2016/11/7
1000023	823271	292213	2016/11/7
1000023	10626	292173	2016/11/7
1000023	2282389	292221	2016/11/7
1000023	1451751	289648	2015/4/7
1000023	823271	292202	2016/11/7
1000023	1661710	289652	2015/4/7
1000023	1086373	292213	2016/11/7
1000023	1854328	292173	2016/11/7
1000023	963867	290497	2015/4/7
1000023	406023	289648	2015/4/7
1000023	211396	290802	2015/4/7
1000023	719501	289652	2015/4/7
1000023	1509387	290496	2015/4/7
1000023	1086373	292221	2016/11/7
1000023	963867	290497	2015/4/7
1000023	1597616	292213	2016/11/7
1000023	1536356	289652	2015/4/7
1000023	2282389	292213	2016/11/7
1000023	1536356	290497	2015/4/7
1000023	1867463	292202	2016/11/7
1000023	2356403	292178	2015/10/27
1000023	196966	290497	2015/4/7
1000023	1144058	292202	2016/11/7
1000023	259210	292202	2016/11/7
1000023	1536356	289648	2015/4/7
1000041	744402	107950	2015/4/7
1000041	1166120	107950	2015/4/7
1000041	1514527	107950	2015/4/7
1000041	793936	357766	2015/4/7
1000041	1617063	357766	2015/4/7
1000041	793936	107950	2015/4/7
1000043	2414987	661415	2016/1/26
1000043	1878751	563862	2016/1/26
1000043	2527958	415597	2016/1/12
1000043	1288675	347600	2016/1/26
1000043	1668672	537277	2016/1/26
1000043	5973865	2084280	2017/1/9
1000043	1012668	299174	2015/10/13
1000043	1301405	415765	2016/1/26
1000043	2252908	669278	2016/1/26
1000043	1910747	133016	2016/10/15
1000043	760352	620837	2015/12/27
1000043	1789216	578613	2016/1/26
;
data want;
 if _n_=1 then do;
  if 0 then set have;
  declare hash h(dataset:'have',hashexp:20);
  h.definekey('buyid','date');
  h.definedone();
 end;
set have;
do i=date to date+30;
if h.check(key:sellid,key:i)=0 then buy_in_next_30=1;
end;
drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 15 Oct 2018 12:35:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/504268#M134920</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-15T12:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506295#M135698</link>
      <description>&lt;P&gt;Thanks for your&amp;nbsp; solution. I don't understand the necessity of&amp;nbsp; the following statement &lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; have&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and what the 0 stands for in that statements. &lt;/P&gt;</description>
      <pubDate>Sun, 21 Oct 2018 06:37:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506295#M135698</guid>
      <dc:creator>ShufeGuoding</dc:creator>
      <dc:date>2018-10-21T06:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506299#M135700</link>
      <description>&lt;P&gt;Here initialize the PDV and make PDV have variables in dataset HAVE,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;so there would not be an error(variable is not initialize) information when build a Hash Table in the next code .&lt;/P&gt;</description>
      <pubDate>Sun, 21 Oct 2018 10:27:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506299#M135700</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-21T10:27:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506334#M135721</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is the ID variable?&amp;nbsp; Is it a product or stock id?&amp;nbsp; When you say you are looking for a seller id as a buyer id in some later transaction within 30 days, does it also require&amp;nbsp;ID of the sell transaction equal to ID of the buy transaction?&lt;/P&gt;</description>
      <pubDate>Sun, 21 Oct 2018 21:28:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506334#M135721</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-10-21T21:28:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506344#M135727</link>
      <description>only use sellid and  buyid to identify the &lt;BR /&gt;person  who buys in next 30 days after sell.&lt;BR /&gt;</description>
      <pubDate>Mon, 22 Oct 2018 02:17:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506344#M135727</guid>
      <dc:creator>ShufeGuoding</dc:creator>
      <dc:date>2018-10-22T02:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506346#M135728</link>
      <description>my data set has 20 millions observation and the lookup costs time very much.Is there any other solution?</description>
      <pubDate>Mon, 22 Oct 2018 02:24:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506346#M135728</guid>
      <dc:creator>ShufeGuoding</dc:creator>
      <dc:date>2018-10-22T02:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506802#M135873</link>
      <description>&lt;P&gt;When readding an observation from data set&amp;nbsp; using set statement in each data step iteration, Can we only do the lookup in a subset containing the observations within a date interval of 30 days from current date. In other words, is there a way to load a subset rather than the whole dataset into hash object and remove it after lookup finish, and load another subset into hash dynamically?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Oct 2018 12:29:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506802#M135873</guid>
      <dc:creator>ShufeGuoding</dc:creator>
      <dc:date>2018-10-23T12:29:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506805#M135875</link>
      <description>&lt;P&gt;You can do that, But that need a GROUP variable and lookup an obs within a group .&lt;/P&gt;</description>
      <pubDate>Tue, 23 Oct 2018 12:35:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506805#M135875</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-23T12:35:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506814#M135880</link>
      <description>&lt;P&gt;The following cod could give a new start. But I am not sure if it would get what you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs;
input sellid	buyid	id	date : yymmdd10.;
format date yymmdd10.;
cards;
1000023	1144058	292173	2016/11/7
1000023	477211	292178	2015/10/27
1000023	1000023	292178	2015/10/28
1000023	318100	289648	2015/4/7
1000023	350832	289652	2015/4/7
1000023	560400	289648	2015/4/7
1000023	259210	292173	2016/11/7
1000023	1466757	289652	2015/4/7
1000023	10626	292213	2016/11/7
1000023	259210	292221	2016/11/7
1000023	328802	292221	2016/11/7
1000023	827855	289648	2015/4/7
1000023	10626	292173	2016/11/7
1000023	823271	292173	2016/11/7
1000023	1597616	292202	2016/11/7
1000023	5068647	292202	2016/11/7
1000023	823271	292213	2016/11/7
1000023	10626	292173	2016/11/7
1000023	2282389	292221	2016/11/7
1000023	1451751	289648	2015/4/7
1000023	823271	292202	2016/11/7
1000023	1661710	289652	2015/4/7
1000023	1086373	292213	2016/11/7
1000023	1854328	292173	2016/11/7
1000023	963867	290497	2015/4/7
1000023	406023	289648	2015/4/7
1000023	211396	290802	2015/4/7
1000023	719501	289652	2015/4/7
1000023	1509387	290496	2015/4/7
1000023	1086373	292221	2016/11/7
1000023	963867	290497	2015/4/7
1000023	1597616	292213	2016/11/7
1000023	1536356	289652	2015/4/7
1000023	2282389	292213	2016/11/7
1000023	1536356	290497	2015/4/7
1000023	1867463	292202	2016/11/7
1000023	2356403	292178	2015/10/27
1000023	196966	290497	2015/4/7
1000023	1144058	292202	2016/11/7
1000023	259210	292202	2016/11/7
1000023	1536356	289648	2015/4/7
1000041	744402	107950	2015/4/7
1000041	1166120	107950	2015/4/7
1000041	1514527	107950	2015/4/7
1000041	793936	357766	2015/4/7
1000041	1617063	357766	2015/4/7
1000041	793936	107950	2015/4/7
1000043	2414987	661415	2016/1/26
1000043	1878751	563862	2016/1/26
1000043	2527958	415597	2016/1/12
1000043	1288675	347600	2016/1/26
1000043	1668672	537277	2016/1/26
1000043	5973865	2084280	2017/1/9
1000043	1012668	299174	2015/10/13
1000043	1301405	415765	2016/1/26
1000043	2252908	669278	2016/1/26
1000043	1910747	133016	2016/10/15
1000043	760352	620837	2015/12/27
1000043	1789216	578613	2016/1/26
;

data temp;
 set have(keep=sellid date rename=(sellid=buyid date=_date)) ;
 do i=_date to _date+30;
  date=i; if i=_date then buy_in_next_30=1;else buy_in_next_30=0;  output;
 end;
 format date yymmdd10.;
 drop _date i ;
run;

proc sql;
create table found as
 select buyid,date
  from have
 intersect
 select buyid,date
  from temp;

create table want as
 select *
  from temp
   where buyid in (select buyid from found) and buy_in_next_30=1;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Oct 2018 13:16:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506814#M135880</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-23T13:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to mathing current  oberservation with next observations to lookup in data step</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506994#M135980</link>
      <description>&lt;P&gt;The "if 0" is an if test that will always fail, so the statement&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; if 0 then set have;&lt;/P&gt;
&lt;P&gt;means that this statement will NEVER actually read data from have.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But even though data is not actually&amp;nbsp;transcribed from have via this statement,&amp;nbsp;the sas compiler still sees the "set have", and consequently&amp;nbsp;expands the program data vector (PDV) to include&amp;nbsp;all variables in the have dataset.&amp;nbsp; The reason this is needed is because the&amp;nbsp;subsequent "declare hash h (dataset:'have',hashexp:20)"&amp;nbsp;is NOT similarly used by the sas compiler to expand the pdv.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Consider this program, which looks up the data for "Alfred" in the hash object h.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  *if 0 then set sashelp.class;
  declare hash h (dataset:'sashelp.class');
    h.definekey('name');
    h.definedata(all:'Y');
    h.definedone();
  name='Alfred';
  rc=h.find();
  put (_all_) (=);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It generates an error message in the log:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: Undeclared data symbol Sex for hash object at line 290 column 5.
ERROR: DATA STEP Component Object failure.  Aborted during the EXECUTION phase.
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;which simply means that even though there is data for a variable named SEX in the hash object, there is no variable named SEX in the pdv,&amp;nbsp; So the FIND method, which is intended to transfer data from the hash object to the pdv, fails.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now try the same program, but de-comment the "if 0 then ..." statement.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Oct 2018 19:41:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-mathing-current-oberservation-with-next-observations-to/m-p/506994#M135980</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-10-23T19:41:04Z</dc:date>
    </item>
  </channel>
</rss>

