<?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 Create a Full Daily Transactional Dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20920#M3323</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This might get you on the right track:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data have;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; informat date mmddyy10. Dosage 2. Status $4.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; input Date Dosage Status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;datalines;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/1/2011 20 Live &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/8/2011 10 Live &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/26/2011 15 Dead &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data calendar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; do i=1 to 31;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date = mdy(1,i,2011);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; keep date;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data want;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; merge calendar have(in=a rename=(Dosage=tmp_dosage Status=tmp_status));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by date;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; retain Dosage Status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; if a then do;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dosage = tmp_dosage;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = tmp_status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; drop tmp_dosage tmp_status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I'm sure there are many different ways to do the same thing but this is what comes to my mind first.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Good luck,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Bob&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 03 Mar 2012 00:29:15 GMT</pubDate>
    <dc:creator>BobD</dc:creator>
    <dc:date>2012-03-03T00:29:15Z</dc:date>
    <item>
      <title>How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20917#M3320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a limited transaction dataset like this:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="196"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="68"&gt;Date&lt;/TD&gt;&lt;TD width="64"&gt;Dosage&lt;/TD&gt;&lt;TD width="64"&gt;Status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/1/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/8/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl63" height="20"&gt;1/26/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to create a full daily history transactional dataset like this:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="196"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="68"&gt;Date&lt;/TD&gt;&lt;TD width="64"&gt;Dosage&lt;/TD&gt;&lt;TD width="64"&gt;Status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/1/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/2/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/3/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/4/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/5/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/6/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/7/2011&lt;/TD&gt;&lt;TD align="right"&gt;20&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl67" height="20"&gt;1/8/2011&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;10&lt;/TD&gt;&lt;TD class="xl66"&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/9/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/10/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/11/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/12/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/13/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/14/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/15/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/16/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/17/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/18/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/19/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/20/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/21/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/22/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/23/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/24/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/25/2011&lt;/TD&gt;&lt;TD align="right"&gt;10&lt;/TD&gt;&lt;TD&gt;Live&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl67" height="20"&gt;1/26/2011&lt;/TD&gt;&lt;TD align="right" class="xl66"&gt;15&lt;/TD&gt;&lt;TD class="xl66"&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/27/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/28/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/29/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/30/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl65" height="20"&gt;1/31/2011&lt;/TD&gt;&lt;TD align="right"&gt;15&lt;/TD&gt;&lt;TD&gt;Dead&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Mar 2012 21:56:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20917#M3320</guid>
      <dc:creator>c8826024</dc:creator>
      <dc:date>2012-03-02T21:56:48Z</dc:date>
    </item>
    <item>
      <title>How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20918#M3321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sort data=transaction; by date; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data history;&lt;/P&gt;&lt;P&gt;update history transaction;&lt;/P&gt;&lt;P&gt;by date;&lt;/P&gt;&lt;P&gt;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>Fri, 02 Mar 2012 22:26:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20918#M3321</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-03-02T22:26:00Z</dc:date>
    </item>
    <item>
      <title>How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20919#M3322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See the many replies to a similar question here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="http://listserv.uga.edu/cgi-bin/wa?A2=ind1203a&amp;amp;L=sas-l&amp;amp;F=&amp;amp;S=&amp;amp;P=6375"&gt;http://listserv.uga.edu/cgi-bin/wa?A2=ind1203a&amp;amp;L=sas-l&amp;amp;F=&amp;amp;S=&amp;amp;P=6375&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your's is slightly different because you'd like to have the answers flow down. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I suggest &lt;/P&gt;&lt;P&gt;1. Create a list of dates you'd like using a macro with a start and stop parameters&lt;/P&gt;&lt;P&gt;ie &lt;/P&gt;&lt;P&gt;%let start_date= '1/1/2012'd;&lt;/P&gt;&lt;P&gt;%let end_date='1/31/2012'd;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data list_dates;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=%start_date to %end_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Merge this is in with your data set. &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 ld.date, h.dosage, h.status&lt;/P&gt;&lt;P&gt;from list_dates ld&lt;/P&gt;&lt;P&gt;left join have h&lt;/P&gt;&lt;P&gt;on ld.date=h.date;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Use retain and or lag to go through and fill in records when missing.&lt;/P&gt;&lt;P&gt;Lots of examples of those around &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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Mar 2012 22:27:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20919#M3322</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-03-02T22:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20920#M3323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This might get you on the right track:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data have;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; informat date mmddyy10. Dosage 2. Status $4.;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; input Date Dosage Status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;datalines;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/1/2011 20 Live &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/8/2011 10 Live &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;1/26/2011 15 Dead &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data calendar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; do i=1 to 31;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date = mdy(1,i,2011);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; keep date;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data want;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; merge calendar have(in=a rename=(Dosage=tmp_dosage Status=tmp_status));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by date;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; retain Dosage Status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; if a then do;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dosage = tmp_dosage;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = tmp_status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp; drop tmp_dosage tmp_status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;I'm sure there are many different ways to do the same thing but this is what comes to my mind first.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Good luck,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Bob&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Mar 2012 00:29:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20920#M3323</guid>
      <dc:creator>BobD</dc:creator>
      <dc:date>2012-03-03T00:29:15Z</dc:date>
    </item>
    <item>
      <title>How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20921#M3324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This should do it for you:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE lang="SAS"&gt;data have;
&amp;nbsp;&amp;nbsp; input Date:mmddyy10. Dosage:3. Status:$4.;
&amp;nbsp;&amp;nbsp; format date mmddyy10.;
datalines;
1/1/2011 20 Live
1/8/2011 10 Live
1/26/2011 15 Dead
;
run;

data want;
&amp;nbsp;&amp;nbsp; set have end=_last;
&amp;nbsp;&amp;nbsp; _start=lag1(date);
&amp;nbsp;&amp;nbsp; _end=date;
&amp;nbsp;&amp;nbsp; _odose=Dosage;
&amp;nbsp;&amp;nbsp; _ostat=Status;
&amp;nbsp;&amp;nbsp; Dosage=lag1(dosage);
&amp;nbsp;&amp;nbsp; Status=lag1(status);
&amp;nbsp;&amp;nbsp; if _n_ ne 1 then do;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do Date=_Start to _end-1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;
&amp;nbsp;&amp;nbsp; end;
&amp;nbsp;&amp;nbsp; if _last then do;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dosage=_odose;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status=_ostat;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;
&amp;nbsp;&amp;nbsp; end;
&amp;nbsp;&amp;nbsp; drop _:;
run;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Mar 2012 01:43:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20921#M3324</guid>
      <dc:creator>SASJedi</dc:creator>
      <dc:date>2012-03-03T01:43:20Z</dc:date>
    </item>
    <item>
      <title>How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20922#M3325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; or this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; informat date mmddyy10. Dosage 2. Status $4.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; input Date Dosage Status;&lt;BR /&gt;datalines;&amp;nbsp; &lt;BR /&gt;1/1/2011 20 Live &lt;BR /&gt;1/8/2011 10 Live &lt;BR /&gt;1/26/2011 15 Dead &lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want(drop=_:);&lt;BR /&gt;&amp;nbsp; merge &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; have(rename=(date=_date1))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; have(keep=date rename=(date=_date2) firstobs=2);&lt;BR /&gt;&amp;nbsp; format date date9.;&lt;BR /&gt;&amp;nbsp; do date=_date1 to coalesce(_date2-1,intnx('month',_date1,0,'e'));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=want;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Mar 2012 02:36:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20922#M3325</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2012-03-03T02:36:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20923#M3326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another approach using Hash():&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; informat date mmddyy10. Dosage 2. Status $4.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; input Date Dosage Status;&lt;/P&gt;&lt;P&gt;datalines; &lt;/P&gt;&lt;P&gt;1/1/2011 20 Live&lt;/P&gt;&lt;P&gt;1/8/2011 10 Live&lt;/P&gt;&lt;P&gt;1/26/2011 15 Dead&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want (drop=_:);&lt;/P&gt;&lt;P&gt;format date mmddyy10.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have (obs=1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _start=date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _end=intnx('month',date,0,'end');&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dcl hash hh(dataset:'have');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hh.definekey('date');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hh.definedata('dosage','status');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hh.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; do date=_start to _end ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _rc=hh.find();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print;&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>Sat, 03 Mar 2012 07:28:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20923#M3326</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-03-03T07:28:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to Create a Full Daily Transactional Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20924#M3327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; This code has been tested and works based on the sample you provided. You can adapt it to a new dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data transdata;&lt;BR /&gt;input date mmddyy10. dosage status $;&lt;BR /&gt;datalines;&lt;BR /&gt;01/1/2011&amp;nbsp; 20 Live&lt;BR /&gt;01/8/2011&amp;nbsp; 10 Live&lt;BR /&gt;01/26/2011 15 Dead&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;proc print data=transdata;run;&lt;/P&gt;&lt;P&gt;data transdata;&lt;BR /&gt;set transdata; duration=intck('day',date,intnx('month',date,0,'e'))+1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc print data=transdata; format date date9.;run;&lt;/P&gt;&lt;P&gt;data _null_;&lt;BR /&gt;if 0 then set transdata nobs=n;&lt;BR /&gt;call symputx('obsn',n);&lt;BR /&gt;run;&lt;BR /&gt;%put number of observations is &amp;amp;obsn.;&lt;/P&gt;&lt;P&gt;data fulltrans(keep=date dosage status) ;&lt;BR /&gt;array durations{&amp;amp;obsn} (7 18 6);&lt;BR /&gt;do i=1 to &amp;amp;obsn;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; do j=1 to durations{i};&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set transdata point=i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if j&amp;gt;1 then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=intnx('day',date1,1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date1=date;end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else date1=date;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain date1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;end;&lt;BR /&gt;stop;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc print data=fulltrans; format date date9.; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Mar 2012 00:10:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Create-a-Full-Daily-Transactional-Dataset/m-p/20924#M3327</guid>
      <dc:creator>MichaelCisse</dc:creator>
      <dc:date>2012-03-06T00:10:16Z</dc:date>
    </item>
  </channel>
</rss>

