<?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 Roll_up Summary in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91096#M26003</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good catch. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Apr 2012 23:43:55 GMT</pubDate>
    <dc:creator>FloydNevseta</dc:creator>
    <dc:date>2012-04-20T23:43:55Z</dc:date>
    <item>
      <title>SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91088#M25995</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd like to know how to do 10 day roll up summary. Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 196px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="68"&gt;date&lt;/TD&gt;&lt;TD width="64"&gt;count&lt;/TD&gt;&lt;TD width="64"&gt;10day sum&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/1/2012&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/2/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/3/2012&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/4/2012&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/5/2012&lt;/TD&gt;&lt;TD align="right"&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/6/2012&lt;/TD&gt;&lt;TD align="right"&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/7/2012&lt;/TD&gt;&lt;TD align="right"&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/8/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/9/2012&lt;/TD&gt;&lt;TD align="right"&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/10/2012&lt;/TD&gt;&lt;TD align="right"&gt;56&lt;/TD&gt;&lt;TD align="right"&gt;164&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/11/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;166&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/12/2012&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right"&gt;167&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/13/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;168&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/14/2012&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;164&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/15/2012&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;159&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/16/2012&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right"&gt;153&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/17/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;92&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/18/2012&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right"&gt;91&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/19/2012&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;85&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/20/2012&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/21/2012&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right"&gt;34&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/22/2012&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right"&gt;32&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/23/2012&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right"&gt;33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/24/2012&lt;/TD&gt;&lt;TD align="right"&gt;8&lt;/TD&gt;&lt;TD align="right"&gt;39&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/25/2012&lt;/TD&gt;&lt;TD align="right"&gt;9&lt;/TD&gt;&lt;TD align="right"&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/26/2012&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt;&lt;TD align="right"&gt;43&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/27/2012&lt;/TD&gt;&lt;TD align="right"&gt;7&lt;/TD&gt;&lt;TD align="right"&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/28/2012&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;TD align="right"&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/29/2012&lt;/TD&gt;&lt;TD align="right"&gt;6&lt;/TD&gt;&lt;TD align="right"&gt;53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/30/2012&lt;/TD&gt;&lt;TD align="right"&gt;45&lt;/TD&gt;&lt;TD align="right"&gt;94&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 16:22:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91088#M25995</guid>
      <dc:creator>sasuser00</dc:creator>
      <dc:date>2012-04-20T16:22:12Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91089#M25996</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data foo;&lt;/P&gt;&lt;P&gt; input date mmddyy10. count;&lt;/P&gt;&lt;P&gt; cards;&lt;/P&gt;&lt;P&gt;1/1/2012&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;1/2/2012&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;1/3/2012&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;1/4/2012&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;1/5/2012&amp;nbsp; 7&lt;/P&gt;&lt;P&gt;1/6/2012&amp;nbsp; 9&lt;/P&gt;&lt;P&gt;1/7/2012&amp;nbsp; 65&lt;/P&gt;&lt;P&gt;1/8/2012&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;1/9/2012&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;1/10/2012 56&lt;/P&gt;&lt;P&gt;1/11/2012 4&lt;/P&gt;&lt;P&gt;1/12/2012 5&lt;/P&gt;&lt;P&gt;1/13/2012 4&lt;/P&gt;&lt;P&gt;1/14/2012 2&lt;/P&gt;&lt;P&gt;1/15/2012 2&lt;/P&gt;&lt;P&gt;1/16/2012 3&lt;/P&gt;&lt;P&gt;1/17/2012 4&lt;/P&gt;&lt;P&gt;1/18/2012 3&lt;/P&gt;&lt;P&gt;1/19/2012 2&lt;/P&gt;&lt;P&gt;1/20/2012 4&lt;/P&gt;&lt;P&gt;1/21/2012 5&lt;/P&gt;&lt;P&gt;1/22/2012 3&lt;/P&gt;&lt;P&gt;1/23/2012 5&lt;/P&gt;&lt;P&gt;1/24/2012 8&lt;/P&gt;&lt;P&gt;1/25/2012 9&lt;/P&gt;&lt;P&gt;1/26/2012 0&lt;/P&gt;&lt;P&gt;1/27/2012 7&lt;/P&gt;&lt;P&gt;1/28/2012 6&lt;/P&gt;&lt;P&gt;1/29/2012 6&lt;/P&gt;&lt;P&gt;1/30/2012 45&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;/P&gt;&lt;P&gt; if _n_=1 then &lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 9;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set foo;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; call missing(sum);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt; sum=0;&lt;/P&gt;&lt;P&gt; set foo (firstobs=10);&lt;/P&gt;&lt;P&gt; do i=1 to 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p=(_n_-1)+i;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set foo point=p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; sum+count;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; output;&lt;/P&gt;&lt;P&gt; drop i;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colspan="1"&gt;date&lt;/TD&gt;&lt;TD colspan="1"&gt;count&lt;/TD&gt;&lt;TD colspan="1"&gt;sum&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18993&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18994&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18995&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18996&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18997&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18998&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18999&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;19000&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19001&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19002&lt;/TD&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;TD&gt;164&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;166&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19004&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;167&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19005&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;168&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19006&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;164&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19007&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;159&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19008&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;153&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19009&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;92&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19010&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;91&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19011&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;85&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19012&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19013&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;34&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19014&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;32&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19015&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19016&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;39&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19017&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19018&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19019&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19020&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19021&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19022&lt;/TD&gt;&lt;TD&gt;45&lt;/TD&gt;&lt;TD&gt;94&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 16:44:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91089#M25996</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2012-04-20T16:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91090#M25997</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here we are, again. without involving ETS, in addition to FriedEgg's solution, here is another approach (credit to Howard, Ksharp):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards truncover;&lt;/P&gt;&lt;P&gt;input date :mmddyy10. count;&lt;/P&gt;&lt;P&gt;format date mmddyy10.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1/1/2012 2&lt;/P&gt;&lt;P&gt;1/2/2012 4&lt;/P&gt;&lt;P&gt;1/3/2012 3&lt;/P&gt;&lt;P&gt;1/4/2012 6&lt;/P&gt;&lt;P&gt;1/5/2012 7&lt;/P&gt;&lt;P&gt;1/6/2012 9&lt;/P&gt;&lt;P&gt;1/7/2012 65&lt;/P&gt;&lt;P&gt;1/8/2012 4&lt;/P&gt;&lt;P&gt;1/9/2012 8&lt;/P&gt;&lt;P&gt;1/10/2012 56&lt;/P&gt;&lt;P&gt;1/11/2012 4&lt;/P&gt;&lt;P&gt;1/12/2012 5&lt;/P&gt;&lt;P&gt;1/13/2012 4&lt;/P&gt;&lt;P&gt;1/14/2012 2&lt;/P&gt;&lt;P&gt;1/15/2012 2&lt;/P&gt;&lt;P&gt;1/16/2012 3&lt;/P&gt;&lt;P&gt;1/17/2012 4&lt;/P&gt;&lt;P&gt;1/18/2012 3&lt;/P&gt;&lt;P&gt;1/19/2012 2&lt;/P&gt;&lt;P&gt;1/20/2012 4&lt;/P&gt;&lt;P&gt;1/21/2012 5&lt;/P&gt;&lt;P&gt;1/22/2012 3&lt;/P&gt;&lt;P&gt;1/23/2012 5&lt;/P&gt;&lt;P&gt;1/24/2012 8&lt;/P&gt;&lt;P&gt;1/25/2012 9&lt;/P&gt;&lt;P&gt;1/26/2012 0&lt;/P&gt;&lt;P&gt;1/27/2012 7&lt;/P&gt;&lt;P&gt;1/28/2012 6&lt;/P&gt;&lt;P&gt;1/29/2012 6&lt;/P&gt;&lt;P&gt;1/30/2012 45&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;array v(0:9) _temporary_;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;v(mod(_n_,10))=count;&lt;/P&gt;&lt;P&gt;if _n_&amp;gt;=10 then day_sum=sum( of v(*));&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc print;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>Fri, 20 Apr 2012 16:55:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91090#M25997</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-20T16:55:50Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91091#M25998</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Beat me to it...and that code is definitely slick and concise.&amp;nbsp; If it is too slick:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; data want;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array sumz {10};&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain sumz rowcnt 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowcnt +1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sumz{rowcnt}=count;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n_ &amp;gt;=10 then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tendaycount=sum(of sumz1-sumz10);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n_ in (10,20,30)then rowcnt=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; keep date1 count tendaycount;&lt;BR /&gt; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 18:08:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91091#M25998</guid>
      <dc:creator>JasonDiVirgilio</dc:creator>
      <dc:date>2012-04-20T18:08:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91092#M25999</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;using macro and lag function:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro lag_sum(var,n);&lt;/P&gt;&lt;P&gt; %let lag_sum=lag(&amp;amp;var);&lt;/P&gt;&lt;P&gt; %do i=2 %to &amp;amp;n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %let lag_sum=&amp;amp;lag_sum,lag&amp;amp;i(&amp;amp;var);&lt;/P&gt;&lt;P&gt; %end;&lt;/P&gt;&lt;P&gt; sum_&amp;amp;var&amp;amp;n=sum(&amp;amp;lag_sum);&lt;/P&gt;&lt;P&gt; if _n_ &amp;lt; &amp;amp;n then call missing(sum_&amp;amp;var&amp;amp;n);&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;/P&gt;&lt;P&gt; set foo;&lt;/P&gt;&lt;P&gt; %lag_sum(count,10);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 18:17:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91092#M25999</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2012-04-20T18:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91093#M26000</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I like Haikuo's FIFO approach but, if you are concerned about 10 day sums and don't really have all dates, then you might need to expand the code a little.&amp;nbsp; E.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let roll=10;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array v{0:%eval(&amp;amp;roll.-1)} _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array d{0:%eval(&amp;amp;roll.-1)} _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; v{mod(_n_,&amp;amp;roll.)}=count;&lt;/P&gt;&lt;P&gt;&amp;nbsp; d{mod(_n_,&amp;amp;roll.)}=date;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=0 to 9;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not missing(d{i}) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if date-d{i} gt %eval(&amp;amp;roll.-1) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(v{i});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(d{i});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_&amp;gt;=&amp;amp;roll. then day_sum=sum( of v{*});&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 20:05:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91093#M26000</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-04-20T20:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91094#M26001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It doesn't get any easier than this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=_:);&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;retain _cum 0;&lt;/P&gt;&lt;P&gt;_cum + ( count - coalesce( lag10( count ),0 ));&lt;/P&gt;&lt;P&gt;if _n_ &amp;lt;= 10 then cum_sum = .;&lt;/P&gt;&lt;P&gt;else cum_sum = _cum;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each iteration of the data step adds to the cumulative sum the new value for count and subtracts the 10th lag of count.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 22:14:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91094#M26001</guid>
      <dc:creator>FloydNevseta</dc:creator>
      <dc:date>2012-04-20T22:14:37Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91095#M26002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice!&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;if&lt;SPAN style="color: #ff0000;"&gt; _n_ &amp;lt;= 10&lt;/SPAN&gt; then cum_sum = .;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #ffffff;"&gt;should be&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px; background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;if &lt;SPAN style="color: #ff0000;"&gt;_n_ &amp;lt; 10&lt;/SPAN&gt; then cum_sum = .;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 23:22:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91095#M26002</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-04-20T23:22:54Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91096#M26003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good catch. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 23:43:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91096#M26003</guid>
      <dc:creator>FloydNevseta</dc:creator>
      <dc:date>2012-04-20T23:43:55Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91097#M26004</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ... here's a tweak of SAS_Bigot's nice solution ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;data want (drop=_cum);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;set have;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;_cum +&amp;nbsp; sum(count, lag10(-count));&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;cum_sum = ifn(_n_ lt 10, . , _cum);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Apr 2012 03:28:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91097#M26004</guid>
      <dc:creator>MikeZdeb</dc:creator>
      <dc:date>2012-04-21T03:28:22Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91098#M26005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with your point Arthur. Solutions that depend on sorted values can be guarantied to work but if you rely on complete data, that's more difficult to enforce. So better be safe than sorry... Moreover, the overhead cost can be minimal (I removed one data line to show the effect) :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;infile cards truncover;&lt;BR /&gt;input date :mmddyy10. count;&lt;BR /&gt;format date mmddyy10.;&lt;BR /&gt;cards;&lt;BR /&gt;1/1/2012 2&lt;BR /&gt;1/2/2012 4&lt;BR /&gt;1/3/2012 3&lt;BR /&gt;1/4/2012 6&lt;BR /&gt;1/5/2012 7&lt;BR /&gt;1/6/2012 9&lt;BR /&gt;1/7/2012 65&lt;BR /&gt;1/8/2012 4&lt;BR /&gt;1/9/2012 8&lt;BR /&gt;1/10/2012 56&lt;BR /&gt;1/11/2012 4&lt;BR /&gt;1/12/2012 5&lt;BR /&gt;1/13/2012 4&lt;BR /&gt;1/14/2012 2&lt;BR /&gt;1/16/2012 3&lt;BR /&gt;1/17/2012 4&lt;BR /&gt;1/18/2012 3&lt;BR /&gt;1/19/2012 2&lt;BR /&gt;1/20/2012 4&lt;BR /&gt;1/21/2012 5&lt;BR /&gt;1/22/2012 3&lt;BR /&gt;1/23/2012 5&lt;BR /&gt;1/24/2012 8&lt;BR /&gt;1/25/2012 9&lt;BR /&gt;1/26/2012 0&lt;BR /&gt;1/27/2012 7&lt;BR /&gt;1/28/2012 6&lt;BR /&gt;1/29/2012 6&lt;BR /&gt;1/30/2012 45&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let wnd=10;&lt;BR /&gt;data want;&lt;BR /&gt;array d{0:0} _temporary_;&lt;BR /&gt;array s{0:&amp;amp;wnd.} _temporary_;&lt;BR /&gt;set have;&lt;BR /&gt;d{0} = 1 + coalesce(d{0}, date-1);&lt;BR /&gt;do while (d{0} &amp;lt; date);&lt;BR /&gt; s{mod(d{0}, &amp;amp;wnd)} = .; /* creates a hole when sum is incomplete (preferred)*/&lt;BR /&gt; *s{mod(d{0}, &amp;amp;wnd)} = 0; /* accepts incomplete sums */&lt;BR /&gt; d{0} + 1;&lt;BR /&gt;end;&lt;BR /&gt;s{mod(date, &amp;amp;wnd)} = count;&lt;BR /&gt;if nmiss(of s{*}) = 1 then day_sum = sum(of s{*});&lt;BR /&gt;else day_sum = .;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=want; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Apr 2012 04:08:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91098#M26005</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-04-21T04:08:16Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91099#M26006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a SQL solution instead of it.Not need to pre-sort dataset.&amp;nbsp; &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data foo;
input date mmddyy10. count;
format date mmddyy10.;
cards;
1/1/2012&amp;nbsp; 2
1/2/2012&amp;nbsp; 4
1/3/2012&amp;nbsp; 3
1/4/2012&amp;nbsp; 6
1/5/2012&amp;nbsp; 7
1/6/2012&amp;nbsp; 9
1/7/2012&amp;nbsp; 65
1/8/2012&amp;nbsp; 4
1/9/2012&amp;nbsp; 8
1/10/2012 56
1/11/2012 4
1/12/2012 5
1/13/2012 4
1/14/2012 2
1/15/2012 2
1/16/2012 3
1/17/2012 4
1/18/2012 3
1/19/2012 2
1/20/2012 4
1/21/2012 5
1/22/2012 3
1/23/2012 5
1/24/2012 8
1/25/2012 9
1/26/2012 0
1/27/2012 7
1/28/2012 6
1/29/2012 6
1/30/2012 45
;
run;
proc sql;
create table want as
 select date,count,case when date lt min(date)+9 then . else (select sum(count) from foo as a where a.date between b.date-9 and b.date) end as sum
&amp;nbsp; from foo as b;
quit;



&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 04:09:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91099#M26006</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-04-23T04:09:25Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91100#M26007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Liked! SQL is indeed a powerful tool!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 14:09:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91100#M26007</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-23T14:09:12Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91101#M26008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Awesome! So far we have Array, Lag(), SQL, Macro, DOW, and let's see how far this great thread can lead us to!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 15:49:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91101#M26008</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-23T15:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91102#M26009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Of course, as a rule, SQL is the only way to do this properly (duck :smileysilly:) as in the bullet proof :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select A.date, A.count, ifn(count(distinct B.date)=10, sum(B.count), .) as ten_day_sum&lt;/P&gt;&lt;P&gt;from foo as A left join foo as B &lt;/P&gt;&lt;P&gt;on B.date between intnx("DAY", A.date, -9, "Beginning") and A.date&lt;/P&gt;&lt;P&gt;group by A.date, A.count;&lt;/P&gt;&lt;P&gt;select * from want;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Apr 2012 17:52:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91102#M26009</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-04-23T17:52:31Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Roll_up Summary</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91103#M26010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use double set with key lookup to account for missing dates, similar to my previous method using double set statements and point:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data foo(index=(date /nomiss /unique));&lt;BR /&gt; call streaminit(12345);&lt;BR /&gt; do date='01JAN1960'd to today();&lt;BR /&gt;&amp;nbsp; count=int(rand('uniform')*10e2);&lt;BR /&gt;&amp;nbsp; if rand('table',.95)=1 then output;&lt;BR /&gt; end;&lt;BR /&gt; format date date9.;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;BR /&gt; set foo(rename=(date=_date)) nobs=nobs;&lt;BR /&gt; sum=.;&lt;BR /&gt; miss=0;&lt;BR /&gt; do date=_date-10 by 1 while ( date &amp;lt; _date and _n_ &amp;gt; 10 /* and miss=0 */ );&lt;BR /&gt;&amp;nbsp; set foo key=date/unique;&lt;BR /&gt;&amp;nbsp; if _iorc_ then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; _iorc_=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; _error_=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; miss+1;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; sum+count;&lt;BR /&gt;&amp;nbsp; end; &lt;BR /&gt; end;&lt;/P&gt;&lt;P&gt; *if miss&amp;gt;1 then call missing(sum);&lt;BR /&gt; date=_date;&lt;BR /&gt; drop _date;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2012 20:55:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-Roll-up-Summary/m-p/91103#M26010</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2012-04-26T20:55:40Z</dc:date>
    </item>
  </channel>
</rss>

