<?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: How to change &amp;quot;irregular total&amp;quot; to &amp;quot;daily average&amp;quot;? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93903#M19794</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am sure there would be better solutions, while now, try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Date&amp;nbsp; a;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;4&amp;nbsp; .&lt;/P&gt;&lt;P&gt;5 .&lt;/P&gt;&lt;P&gt;6&amp;nbsp; .&lt;/P&gt;&lt;P&gt;7&amp;nbsp; 9&amp;nbsp; &lt;/P&gt;&lt;P&gt;8 .&lt;/P&gt;&lt;P&gt;9 .&lt;/P&gt;&lt;P&gt;10 8&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;set have;&lt;/P&gt;&lt;P&gt;retain _cat;&lt;/P&gt;&lt;P&gt;length _cat $10.;&lt;/P&gt;&lt;P&gt;_mean+a;&lt;/P&gt;&lt;P&gt;i+1;&lt;/P&gt;&lt;P&gt;if i=1 then _cat=cats(date);&lt;/P&gt;&lt;P&gt;if not missing(a) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _mean=_mean/i;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _cat=catx('-',_cat,date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing (_mean,i);&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;keep _:;&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;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>Tue, 14 Aug 2012 22:49:16 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2012-08-14T22:49:16Z</dc:date>
    <item>
      <title>How to change "irregular total" to "daily average"?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93902#M19793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Raw data look like: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Date&amp;nbsp; a&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . &lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; (note total number from day 1 to 3)&lt;/P&gt;&lt;P&gt;4&amp;nbsp; . &lt;/P&gt;&lt;P&gt;5 . &lt;/P&gt;&lt;P&gt;6&amp;nbsp; .&lt;/P&gt;&lt;P&gt;7&amp;nbsp; 9&amp;nbsp; (note total number from day 4 to 7)&lt;/P&gt;&lt;P&gt;8 .&lt;/P&gt;&lt;P&gt;9 .&lt;/P&gt;&lt;P&gt;10 8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to change these irregular total to daily average? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks the daily average gradually increase, so I didn't want to calculate as: &lt;/P&gt;&lt;P&gt;day 1-3: 4/3&lt;/P&gt;&lt;P&gt;day 4-7: 9/5&lt;/P&gt;&lt;P&gt;day 8-10: 8/3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks a lot!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 22:07:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93902#M19793</guid>
      <dc:creator>JeffNCSU</dc:creator>
      <dc:date>2012-08-14T22:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to change "irregular total" to "daily average"?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93903#M19794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am sure there would be better solutions, while now, try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Date&amp;nbsp; a;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;4&amp;nbsp; .&lt;/P&gt;&lt;P&gt;5 .&lt;/P&gt;&lt;P&gt;6&amp;nbsp; .&lt;/P&gt;&lt;P&gt;7&amp;nbsp; 9&amp;nbsp; &lt;/P&gt;&lt;P&gt;8 .&lt;/P&gt;&lt;P&gt;9 .&lt;/P&gt;&lt;P&gt;10 8&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;set have;&lt;/P&gt;&lt;P&gt;retain _cat;&lt;/P&gt;&lt;P&gt;length _cat $10.;&lt;/P&gt;&lt;P&gt;_mean+a;&lt;/P&gt;&lt;P&gt;i+1;&lt;/P&gt;&lt;P&gt;if i=1 then _cat=cats(date);&lt;/P&gt;&lt;P&gt;if not missing(a) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _mean=_mean/i;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _cat=catx('-',_cat,date);&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call missing (_mean,i);&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;keep _:;&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;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>Tue, 14 Aug 2012 22:49:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93903#M19794</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-08-14T22:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to change "irregular total" to "daily average"?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93904#M19795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sure someone will provide a more straightforward solution - but below code should work:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data have;&lt;BR /&gt;infile datalines truncover dlm=' ';&lt;BR /&gt;input date a;&lt;BR /&gt;format date date9.;&lt;BR /&gt;datalines;&lt;BR /&gt;1 . &lt;BR /&gt;2 .&lt;BR /&gt;3 4&amp;nbsp;&amp;nbsp;&amp;nbsp; (note total number from day 1 to 3)&lt;BR /&gt;4 . &lt;BR /&gt;5 . &lt;BR /&gt;6 .&lt;BR /&gt;7 9&amp;nbsp;&amp;nbsp;&amp;nbsp; (note total number from day 4 to 7)&lt;BR /&gt;8 .&lt;BR /&gt;9 .&lt;BR /&gt;10 8&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data inter;&lt;BR /&gt;&amp;nbsp; set have ;&lt;BR /&gt;&amp;nbsp; retain date2 a2;&lt;BR /&gt;&amp;nbsp; if date&amp;gt;date2 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have( keep=date a rename=(date=date2 a=a2) where=(a2 ne .) );&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table want as&lt;BR /&gt;&amp;nbsp; select *, a2/count(*) as avg&lt;BR /&gt;&amp;nbsp; from inter&lt;BR /&gt;&amp;nbsp; group by date2&lt;BR /&gt;&amp;nbsp; order by date&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2012 22:51:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93904#M19795</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2012-08-14T22:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to change "irregular total" to "daily average"?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93905#M19796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If to mimic Patrick's results using DOW, here is an approach:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;do _n_=1 by 1 until (not missing(a));&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;_total+a;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;do until (not missing(a));&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;avg=_total/_n_;&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;call missing(_total);&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>Tue, 14 Aug 2012 23:07:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93905#M19796</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-08-14T23:07:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to change "irregular total" to "daily average"?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93906#M19797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A slight simplification.&amp;nbsp; Begin with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have (where=(a &amp;gt; .));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are possible continuations that simplify as well.&amp;nbsp; For example, consider:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first_day = lag(date);&lt;/P&gt;&lt;P&gt;if _n_=1 then set have (keep=date rename=(date=first_day));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Details omitted at this point, unless this is really of interest to somebody.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Aug 2012 12:45:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-change-quot-irregular-total-quot-to-quot-daily-average/m-p/93906#M19797</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-08-15T12:45:02Z</dc:date>
    </item>
  </channel>
</rss>

