<?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: ignore first n observations by group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425490#M281157</link>
    <description>&lt;P&gt;Please accept my apologies, I think this is what you are after:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by gvkey;&lt;BR /&gt;if first.gvkey then call missing(_t,lagmeancost);&lt;BR /&gt;retain _t&amp;nbsp; lagmeancost;&lt;BR /&gt;if lag(meancost) ne meancost then&lt;/P&gt;&lt;P&gt;do;&lt;BR /&gt;lagmeancost=_t;&lt;BR /&gt;&lt;BR /&gt;_t=meancost;&lt;BR /&gt;end;&lt;BR /&gt;drop _:;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Typo edited&lt;/P&gt;</description>
    <pubDate>Sat, 06 Jan 2018 05:43:16 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-01-06T05:43:16Z</dc:date>
    <item>
      <title>ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425482#M281150</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset with variable "meancost". Now I want to create new variable "lagmeancost" which equal to meancost in previous 4 quarters (4 lag). For example, the lagmeancost of GVKEY (firmid) 1001 in 2002Q1 = meancost in 2001Q1 (=11)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is that I have to ignore the first 4 observations in each group to avoid the lagmeancost to be contaminated by data of other company.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output data should look like this&lt;/P&gt;&lt;TABLE cellspacing="0" cellpadding="0" border="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;GVKEY&lt;/TD&gt;&lt;TD&gt;Quarter&lt;/TD&gt;&lt;TD&gt;Meancost&lt;/TD&gt;&lt;TD&gt;lagmeancost&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q1&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q2&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q3&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q1&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q2&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q3&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q4&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q1&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q2&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q3&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q4&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q1&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q2&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q3&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q4&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea how to do that? Thank you very much&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 04:26:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425482#M281150</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-01-06T04:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425483#M281151</link>
      <description>&lt;P&gt;PROC EXPAND&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 04:32:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425483#M281151</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-01-06T04:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425484#M281152</link>
      <description>&lt;P&gt;Could you be more specific?Thanks&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 04:36:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425484#M281152</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-01-06T04:36:26Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425485#M281153</link>
      <description>&lt;P&gt;data have;&lt;BR /&gt;input (GVKEY Quarter Meancost) ($);&lt;BR /&gt;datalines;&lt;BR /&gt;1001 2001Q1 11 .&lt;BR /&gt;1001 2001Q2 11 .&lt;BR /&gt;1001 2001Q3 11 .&lt;BR /&gt;1001 2001Q4 11 .&lt;BR /&gt;1001 2002Q1 12 11&lt;BR /&gt;1001 2002Q2 12 11&lt;BR /&gt;1001 2002Q3 12 11&lt;BR /&gt;1001 2002Q4 12 11&lt;BR /&gt;1002 2006Q1 65 .&lt;BR /&gt;1002 2006Q2 65 .&lt;BR /&gt;1002 2006Q3 65 .&lt;BR /&gt;1002 2006Q4 65 .&lt;BR /&gt;1002 2007Q1 70 65&lt;BR /&gt;1002 2007Q2 70 65&lt;BR /&gt;1002 2007Q3 70 65&lt;BR /&gt;1002 2007Q4 70 65&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by gvkey;&lt;BR /&gt;if first.gvkey then call missing(_t,_k);&lt;BR /&gt;retain _k _t;&lt;BR /&gt;if lag(meancost) ne meancost then _t+1;&lt;BR /&gt;if mod(_t,2) ne 0 then _k=meancost;&lt;BR /&gt;else lagmeancost=_k ;&lt;BR /&gt;drop _:;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 04:37:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425485#M281153</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-06T04:37:24Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425487#M281154</link>
      <description>&lt;P&gt;I tried your code but it gives me missing value of lagmeancost where it should have a value.&lt;/P&gt;&lt;P&gt;The output of this code is like this. This code does not give me lagmeancost of the year 2003. Basically, it gives lagmeancost of 1 year, then missing value for the next year, and then gives value for the year after that ....&lt;/P&gt;&lt;TABLE cellspacing="0" cellpadding="0" border="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;GVKEY&lt;/TD&gt;&lt;TD&gt;Quarter&lt;/TD&gt;&lt;TD&gt;Meancost&lt;/TD&gt;&lt;TD&gt;lagmeancost&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q1&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q2&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q3&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q1&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q2&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q3&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q4&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2003Q1&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2003Q2&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2003Q3&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2003Q4&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2004Q1&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2004Q2&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2004Q3&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2004Q4&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;….&lt;/TD&gt;&lt;TD&gt;….&lt;/TD&gt;&lt;TD&gt;….&lt;/TD&gt;&lt;TD&gt;….&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 06 Jan 2018 04:56:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425487#M281154</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-01-06T04:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425489#M281156</link>
      <description>&lt;P&gt;Your output sample in your original post skips , so i coded accordingly. Do you want lag values for all quarters?&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 05:03:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425489#M281156</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-06T05:03:54Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425490#M281157</link>
      <description>&lt;P&gt;Please accept my apologies, I think this is what you are after:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by gvkey;&lt;BR /&gt;if first.gvkey then call missing(_t,lagmeancost);&lt;BR /&gt;retain _t&amp;nbsp; lagmeancost;&lt;BR /&gt;if lag(meancost) ne meancost then&lt;/P&gt;&lt;P&gt;do;&lt;BR /&gt;lagmeancost=_t;&lt;BR /&gt;&lt;BR /&gt;_t=meancost;&lt;BR /&gt;end;&lt;BR /&gt;drop _:;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Typo edited&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 05:43:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425490#M281157</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-06T05:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425491#M281158</link>
      <description>&lt;P&gt;Yes, I would like to compute lagmeancost for all quarter, except the first 4 quarters of each GVKEY (firmid) because obviously there is no lag year for the first 4 quarters.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The dataset I posted is just a small sample, my full data is like this:&lt;/P&gt;&lt;TABLE cellspacing="0" cellpadding="0" border="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;GVKEY&lt;/TD&gt;&lt;TD&gt;Quarter&lt;/TD&gt;&lt;TD&gt;Meancost&lt;/TD&gt;&lt;TD&gt;lagmeancost&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q1&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q2&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q3&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2001Q4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q1&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q2&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q3&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2002Q4&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q3&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2006Q4&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q1&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q2&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q3&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2007Q4&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2008Q1&lt;/TD&gt;&lt;TD&gt;75&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2008Q2&lt;/TD&gt;&lt;TD&gt;75&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2008Q3&lt;/TD&gt;&lt;TD&gt;75&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2008Q4&lt;/TD&gt;&lt;TD&gt;75&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;TD&gt;…….&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 06 Jan 2018 05:12:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425491#M281158</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-01-06T05:12:39Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425492#M281159</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;RTM&lt;/P&gt;
&lt;P&gt;&lt;A href="http://documentation.sas.com/?docsetId=etsug&amp;amp;docsetTarget=etsug_expand_examples04.htm&amp;amp;docsetVersion=14.3&amp;amp;locale=en" target="_blank"&gt;http://documentation.sas.com/?docsetId=etsug&amp;amp;docsetTarget=etsug_expand_examples04.htm&amp;amp;docsetVersion=14.3&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings10/093-2010.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings10/093-2010.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try MOVAVE3 TRIMLEFT3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Otherwise there's the good old temporary array trick, I've left more in than I usually would so you can see the flow of data. For comparison, PROC EXPAND would be 4&amp;nbsp;lines of code.&amp;nbsp;&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;
    set sashelp.stocks;
    by stock;
    retain counter p0-p3;
    array p(0:3) p0-p3;

    if first.stock then
        do;
            call missing(of p(*));
            counter=1;
        end;
    else
        counter=counter+1;
    p{mod(counter, 4)}=open;

    if counter&amp;gt;4 then
        moving_avg4=mean(of p(*));
    keep stock date open moving_: p: counter;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/181905"&gt;@trungcva112&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;I tried your code but it gives me missing value of lagmeancost where it should have a value.&lt;/P&gt;
&lt;P&gt;The output of this code is like this. This code does not give me lagmeancost of the year 2003. Basically, it gives lagmeancost of 1 year, then missing value for the next year, and then gives value for the year after that ....&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;GVKEY&lt;/TD&gt;
&lt;TD&gt;Quarter&lt;/TD&gt;
&lt;TD&gt;Meancost&lt;/TD&gt;
&lt;TD&gt;lagmeancost&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2001Q1&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2001Q2&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2001Q3&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2001Q4&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2002Q1&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2002Q2&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2002Q3&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2002Q4&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2003Q1&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2003Q2&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2003Q3&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2003Q4&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2004Q1&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2004Q2&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2004Q3&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1001&lt;/TD&gt;
&lt;TD&gt;2004Q4&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;….&lt;/TD&gt;
&lt;TD&gt;….&lt;/TD&gt;
&lt;TD&gt;….&lt;/TD&gt;
&lt;TD&gt;….&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 05:16:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425492#M281159</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-01-06T05:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425493#M281160</link>
      <description>&lt;P&gt;NVM, you're just lagging which is easier.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set sashelp.stocks;

by stock;

lagged=lag4(open);

if first.stock then counter=1;
else counter+1;

if counter&amp;lt;=4 then lagged=.;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 06 Jan 2018 05:18:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425493#M281160</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-01-06T05:18:57Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425501#M281161</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input GVKEY Quarter : yyq6. Meancost;
format Quarter   yyq6.;
datalines;
1001 2001Q1 11 .
1001 2001Q2 11 .
1001 2001Q3 11 .
1001 2001Q4 11 .
1001 2002Q1 12 11
1001 2002Q2 12 11
1001 2002Q3 12 11
1001 2002Q4 12 11
1002 2006Q1 65 .
1002 2006Q2 65 .
1002 2006Q3 65 .
1002 2006Q4 65 .
1002 2007Q1 70 65
1002 2007Q2 70 65
1002 2007Q3 70 65
1002 2007Q4 70 65
;
run;
data temp; 
 set have(rename=(Quarter=_Quarter));
 Quarter=intnx('qtr',_Quarter,4);
format Quarter   yyq6.;
drop _Quarter;
run;

data want;
 merge have(in=ina) temp(keep=GVKEY Quarter Meancost 
 rename=( Meancost=_Meancost));
 by GVKEY Quarter;
 if ina;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 06 Jan 2018 09:50:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425501#M281161</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-01-06T09:50:23Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425511#M281162</link>
      <description>&lt;P&gt;You want trailing 4-quarter moving averages, where the window moves once per year instead of once per quarter:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by gvkey;
  retain lagmeancost;

  lagmeancost=ifn(mod(_n_,4)=1,mean(lag1(cost),lag2(cost),lag3(cost),lag4(cost)),lagmeancost);
  if first.gvkey then lagmeancost=.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The above &amp;nbsp;assumes that every gvkey has exactly 4 records per year.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If that's not the case, then instead of looking for every 4th record you need to determine if the current record belongs to a different year than the prior record. Assuming your QUARTER variable is actually a SAS date variable, you could:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by gvkey;
  retain lagmeancost;

  array c{4} _temporary_;

  if intck('year',lag(quarter),quarter)=1 then do;
    lagmeancost=mean(of c{*});
    call missing(of c{*});
  end;
  if first.gvkey then call missing(lagmeancost,of c{*});
  c{qtr(quarter)}=cost;
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;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Jan 2018 13:00:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425511#M281162</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-01-06T13:00:21Z</dc:date>
    </item>
    <item>
      <title>Re: ignore first n observations by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425560#M281163</link>
      <description>Thanks everyone. Reeza's and Ksharp's code work</description>
      <pubDate>Sun, 07 Jan 2018 01:56:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ignore-first-n-observations-by-group/m-p/425560#M281163</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-01-07T01:56:07Z</dc:date>
    </item>
  </channel>
</rss>

