<?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: Retrieving data from a prior line in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301377#M63765</link>
    <description>&lt;P&gt;I wanted to accept both of these as a solution, so thank you both SO much for taking the time look over my query.&amp;nbsp;I was all around it in my attempts, I just didn't think to put all of the attempts together. lol&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Once again, thank you both!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Brian&lt;/P&gt;</description>
    <pubDate>Wed, 28 Sep 2016 18:19:57 GMT</pubDate>
    <dc:creator>shounster</dc:creator>
    <dc:date>2016-09-28T18:19:57Z</dc:date>
    <item>
      <title>Retrieving data from a prior line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301363#M63756</link>
      <description>&lt;P&gt;I have a bit of a head scratcher where I think I know what to use, but I'm not seeing the results I expect.&amp;nbsp; Here's what the&amp;nbsp;data looks like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Provider&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thru_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Origin&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150213&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150227&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150313&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150327&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150831&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150930&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20151005&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;2234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150916&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150921&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;2234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150917&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150921&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;2235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150922&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20151007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Generally, the Origin=B row occurs when Origin=A ends.&amp;nbsp; Hence, the same date.&amp;nbsp; Maybe that's what I need to be matching...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I am trying to do is to&amp;nbsp;start with&amp;nbsp;an Origin of 'B', go back one line and return the Thru_Date from the Origin 'A'.&amp;nbsp; I have tried FIRST.ORIGIN and&amp;nbsp;I get sorting errors (It needs to be sorted by Key and&amp;nbsp;From_Date). I've tried&amp;nbsp;IF Origin = 'B' then initial_thru_date=lag(Thru_Date), then I only get the lag to occur when Origin='B'.&amp;nbsp; And I understand why that is happening, but not sure how to start with Origin='B' and then have SAS run a process that doesn't just find the rows where Origin='B'.&amp;nbsp; This is what I would like the result to resemble:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Provider&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thru_Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Origin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Initial_Thru_Date&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150213&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150227&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150313&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150327&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150831&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150930&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&lt;/P&gt;&lt;P&gt;1235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20151005&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;2234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150916&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150921&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;2234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150917&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150921&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;2235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150922&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20151007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20150921&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm struggling to determine if there is a mix of FIRST. or LAG, or something else I can utilize.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any assistance would be greatly appreciated.&amp;nbsp;Even if it is the correct syntax for&amp;nbsp;a Google search. &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As always, thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Brian&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 17:44:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301363#M63756</guid>
      <dc:creator>shounster</dc:creator>
      <dc:date>2016-09-28T17:44:17Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieving data from a prior line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301371#M63760</link>
      <description>&lt;P&gt;Well, you've identified the issue with LAG.&amp;nbsp; That's half the battle.&amp;nbsp; The next question is what can you do about it?&amp;nbsp; In general, the solution is to use LAG on every observation.&amp;nbsp; Then wipe out the value assigned to your new variable, if you don't want it.&amp;nbsp; For example:&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 origin notsorted;&lt;/P&gt;
&lt;P&gt;initial_thru_date = lag(thru_date);&lt;/P&gt;
&lt;P&gt;if (origin ne 'B') or (first.origin=0) then initial_thru_date=.;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There can be complications if you need to begin the logic over again when KEY changes.&amp;nbsp; But even in that case this program will hold up as long as each KEY always begins with an "A" value for ORIGIN.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 17:56:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301371#M63760</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-09-28T17:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieving data from a prior line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301372#M63761</link>
      <description>&lt;P&gt;If it is acceptable to assume that your data is sorted by Key and origin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input Provider     Key     From_Date     Thru_Date     Origin $ ;
datalines;
1234          585      20150213       20150227      A
1234          585      20150313       20150327      A
1234          585      20150831       20150905      A
1235          585      20150905       20150930      B
1235          585      20150905       20151005      B
2234          979      20150916       20150921      A
2234          979      20150917       20150921      A
2235          979      20150922       20151007      B
;
run;

data want;
   set have;
   by key origin;
   ldate = lag(Thru_date);
   if first.origin and origin='B' then initial_thru_date=ldate;
   drop ldate;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You could use&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By origin notsorted;&lt;/P&gt;
&lt;P&gt;for your example data as well but it is not clear if the KEY value is important or not for deciding "first" status.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 18:01:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301372#M63761</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-09-28T18:01:00Z</dc:date>
    </item>
    <item>
      <title>Re: Retrieving data from a prior line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301377#M63765</link>
      <description>&lt;P&gt;I wanted to accept both of these as a solution, so thank you both SO much for taking the time look over my query.&amp;nbsp;I was all around it in my attempts, I just didn't think to put all of the attempts together. lol&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Once again, thank you both!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Brian&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 18:19:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retrieving-data-from-a-prior-line/m-p/301377#M63765</guid>
      <dc:creator>shounster</dc:creator>
      <dc:date>2016-09-28T18:19:57Z</dc:date>
    </item>
  </channel>
</rss>

