<?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 Lag function in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90076#M25700</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just realized that, if there is some condition before using LAG the function, then LAG will take the "previous one" from those that satisfy the condition ?&lt;/P&gt;&lt;P&gt;For example,&lt;/P&gt;&lt;P&gt;n A&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&lt;/P&gt;&lt;P&gt;2&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; Bob&lt;/P&gt;&lt;P&gt;3&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charlie&lt;/P&gt;&lt;P&gt;4&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; David&lt;/P&gt;&lt;P&gt;5&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; Eddie&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Frank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If A = . then C = lag(B);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for record # 6, C will have Charlie, not Eddie.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I get Eddie ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Thanks for quick response, working in the office now...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Jul 2013 13:56:03 GMT</pubDate>
    <dc:creator>Matt_Lin</dc:creator>
    <dc:date>2013-07-25T13:56:03Z</dc:date>
    <item>
      <title>Lag function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90076#M25700</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just realized that, if there is some condition before using LAG the function, then LAG will take the "previous one" from those that satisfy the condition ?&lt;/P&gt;&lt;P&gt;For example,&lt;/P&gt;&lt;P&gt;n A&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&lt;/P&gt;&lt;P&gt;2&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; Bob&lt;/P&gt;&lt;P&gt;3&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Charlie&lt;/P&gt;&lt;P&gt;4&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; David&lt;/P&gt;&lt;P&gt;5&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; Eddie&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Frank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If A = . then C = lag(B);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for record # 6, C will have Charlie, not Eddie.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I get Eddie ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Thanks for quick response, working in the office now...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 13:56:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90076#M25700</guid>
      <dc:creator>Matt_Lin</dc:creator>
      <dc:date>2013-07-25T13:56:03Z</dc:date>
    </item>
    <item>
      <title>Re: Lag function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90077#M25701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When using lag() /dif() conditionally, you need to be aware of what is happening, in your case, you need using it unconditionally:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c=ifc(missing(a), lag(b), c);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, lag() will be processed for every row of record, another option is to create a new variable to address the lag() scenario,&amp;nbsp; then drop it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please read SAS help Docs on lag() for deeper understanding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 14:02:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90077#M25701</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-07-25T14:02:38Z</dc:date>
    </item>
    <item>
      <title>Re: Lag function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90078#M25702</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! I understand.&lt;/P&gt;&lt;P&gt;But there is more to the question when more than 1 row is missing consecutively: (and number of missing rows is indefinite)&lt;/P&gt;&lt;P&gt;n&amp;nbsp; A&amp;nbsp; Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C (intended answer)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C(currently achieved using either method)&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp; 1&amp;nbsp; Abbie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Bob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Charlie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abbie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Eddie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Frank&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;7&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; George&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I kept running SAS code your suggested manually, it will work out "eventually" (3 David -&amp;gt; 4 David -&amp;gt; etc...), but that won't be a solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many many thanks !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 14:55:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90078#M25702</guid>
      <dc:creator>Matt_Lin</dc:creator>
      <dc:date>2013-07-25T14:55:12Z</dc:date>
    </item>
    <item>
      <title>Re: Lag function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90079#M25703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, in that case, you would need something a little different:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data havE;&lt;/P&gt;&lt;P&gt; input n&amp;nbsp; A&amp;nbsp; Name $;&lt;/P&gt;&lt;P&gt;cards; &lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp; 1&amp;nbsp; Abbie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Bob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Charlie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; David&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Eddie&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; Frank&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;7&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp; George&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; length c $ 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain c;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if not missing(a) then c=name;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 15:11:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90079#M25703</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-07-25T15:11:40Z</dc:date>
    </item>
    <item>
      <title>Re: Lag function</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90080#M25704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;YES! That is what I want!&lt;/P&gt;&lt;P&gt;man, you are a genius !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 15:21:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lag-function/m-p/90080#M25704</guid>
      <dc:creator>Matt_Lin</dc:creator>
      <dc:date>2013-07-25T15:21:11Z</dc:date>
    </item>
  </channel>
</rss>

