<?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 Summing Observations using range of dates that varies by observation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58219#M12642</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks very much, art. 'Day's goes up to 30 in my dataset, so I made the necessary adjustments and it works quite well. Many thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 01 Dec 2011 21:36:44 GMT</pubDate>
    <dc:creator>s2d</dc:creator>
    <dc:date>2011-12-01T21:36:44Z</dc:date>
    <item>
      <title>Summing Observations using range of dates that varies by observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58217#M12640</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Greetings:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a dataset like the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 281px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl66" height="19" width="89"&gt;Date&lt;/TD&gt;&lt;TD class="xl66" width="64"&gt;Days&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;Var1&amp;nbsp; .....&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;Var10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/1/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;10&lt;/TD&gt;&lt;TD class="xl66"&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/2/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;15&lt;/TD&gt;&lt;TD class="xl66"&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/3/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;12&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/4/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/5/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;5&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/6/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;TD class="xl66"&gt;11&lt;/TD&gt;&lt;TD class="xl66"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/7/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;4&lt;/TD&gt;&lt;TD class="xl66"&gt;12&lt;/TD&gt;&lt;TD class="xl66"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/8/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;7&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to sum the values of each variable in the array Var1 - Var 10 using the number of days in the cycle (variable is named 'Days'). Such that I could produce the following dataset as output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 521px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl66" height="19" width="89"&gt;Date&lt;/TD&gt;&lt;TD class="xl66" width="64"&gt;Days&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;Var1 ......&lt;/TD&gt;&lt;TD class="xl65" width="64"&gt;Var10&lt;/TD&gt;&lt;TD class="xl66" width="119"&gt;Cycle_Sum_Var1....&lt;/TD&gt;&lt;TD class="xl66" width="121"&gt;Cycle_Sum_Var10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/1/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;10&lt;/TD&gt;&lt;TD class="xl66"&gt;5&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/2/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;15&lt;/TD&gt;&lt;TD class="xl66"&gt;8&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/3/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;TD class="xl66"&gt;12&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/4/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;TD class="xl66"&gt;33&lt;/TD&gt;&lt;TD class="xl66"&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/5/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;5&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;TD class="xl66"&gt;3&lt;/TD&gt;&lt;TD class="xl66"&gt;52&lt;/TD&gt;&lt;TD class="xl66"&gt;28&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/6/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;TD class="xl66"&gt;11&lt;/TD&gt;&lt;TD class="xl66"&gt;2&lt;/TD&gt;&lt;TD class="xl66"&gt;63&lt;/TD&gt;&lt;TD class="xl66"&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/7/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;4&lt;/TD&gt;&lt;TD class="xl66"&gt;12&lt;/TD&gt;&lt;TD class="xl66"&gt;2&lt;/TD&gt;&lt;TD class="xl66"&gt;38&lt;/TD&gt;&lt;TD class="xl66"&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl67" height="19"&gt;1/8/2011&lt;/TD&gt;&lt;TD class="xl66"&gt;7&lt;/TD&gt;&lt;TD class="xl66"&gt;9&lt;/TD&gt;&lt;TD class="xl66"&gt;6&lt;/TD&gt;&lt;TD class="xl66"&gt;74&lt;/TD&gt;&lt;TD class="xl66"&gt;&lt;P&gt;33&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your suggestions are much appreciated! I know proc means, basic arrays and some do loops, etc. I'm not sure if a Macro or Proc SQL is called for in this situation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Dec 2011 19:31:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58217#M12640</guid>
      <dc:creator>s2d</dc:creator>
      <dc:date>2011-12-01T19:31:58Z</dc:date>
    </item>
    <item>
      <title>Summing Observations using range of dates that varies by observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58218#M12641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you aren't missing any dates and you will never need to accumulate beyond 10 days, then you could use something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat date mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format date mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input Date Days Var1-Var10;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;1/1/2011 . 10 1 1 1 1 1 1 1 1 5&lt;/P&gt;&lt;P&gt;1/2/2011 . 15 1 1 1 1 1 1 1 1 8&lt;/P&gt;&lt;P&gt;1/3/2011 . 12 1 1 1 1 1 1 1 1 3&lt;/P&gt;&lt;P&gt;1/4/2011 3 6&amp;nbsp; 1 1 1 1 1 1 1 1 9&lt;/P&gt;&lt;P&gt;1/5/2011 5 9&amp;nbsp; 1 1 1 1 1 1 1 1 3&lt;/P&gt;&lt;P&gt;1/6/2011 6 11 1 1 1 1 1 1 1 1 2&lt;/P&gt;&lt;P&gt;1/7/2011 4 12 1 1 1 1 1 1 1 1 2&lt;/P&gt;&lt;P&gt;1/8/2011 7 9&amp;nbsp; 1 1 1 1 1 1 1 1 6&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=i j last:);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array current(10) var1-var10;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array last(10,10);&lt;/P&gt;&lt;P&gt;&amp;nbsp; array cycle_sum_var(10);&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,1)=lag1(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,2)=lag2(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,3)=lag3(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,4)=lag4(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,5)=lag5(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,6)=lag6(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,7)=lag7(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,8)=lag8(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,9)=lag9(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; last(i,10)=lag10(current(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if not missing(days) then do i=1 to 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cycle_sum_var(i)=current(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do j=1 to days-1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cycle_sum_var(i)=sum(cycle_sum_var(i),last(i,j));&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;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Dec 2011 20:39:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58218#M12641</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-12-01T20:39:30Z</dc:date>
    </item>
    <item>
      <title>Summing Observations using range of dates that varies by observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58219#M12642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks very much, art. 'Day's goes up to 30 in my dataset, so I made the necessary adjustments and it works quite well. Many thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Dec 2011 21:36:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summing-Observations-using-range-of-dates-that-varies-by/m-p/58219#M12642</guid>
      <dc:creator>s2d</dc:creator>
      <dc:date>2011-12-01T21:36:44Z</dc:date>
    </item>
  </channel>
</rss>

