<?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: Fixing messy dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665927#M199178</link>
    <description>if dateR =: '99/99' then do;&lt;BR /&gt;      date_want = mdy(7, 1, input(scan(dater, 3, '/'), 8.));&lt;BR /&gt;end;&lt;BR /&gt;else if scan(dater, 2, '/') = '99' then do;&lt;BR /&gt;    date_want = mdy(input(scan(dater, 1, '/'), 8.), 15,  input(scan(dater, 3, '/'), 8.));&lt;BR /&gt;end;&lt;BR /&gt;else date_want = input(date4, mmddyy10.);</description>
    <pubDate>Mon, 29 Jun 2020 21:35:27 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2020-06-29T21:35:27Z</dc:date>
    <item>
      <title>Fixing messy dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665918#M199174</link>
      <description>&lt;P&gt;I have dates that are messy. The missing values are coded as 99 for month and year.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The rule i want to implement is as follows:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Month missing/day missing/Year = 7/1/Year&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Month/day missing/Year = Month/15/Year&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Here is the dataset:&lt;/P&gt;
&lt;TABLE width="69"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="69"&gt;DateR&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;99/99/2006&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;99/99/2006&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/99/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/99/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/99/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8/99/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7/99/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7/99/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6/99/2015&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;Thanks!!&lt;/P&gt;
&lt;DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 29 Jun 2020 21:19:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665918#M199174</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-29T21:19:44Z</dc:date>
    </item>
    <item>
      <title>Re: Fixing messy dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665925#M199177</link>
      <description>&lt;P&gt;Do you have any with just Month missing (assume by "missing" you mean a value of 99 is recorded and that the expected order is MMDDYYYY)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And including one actual valid date for comparison:&lt;/P&gt;
&lt;PRE&gt;data example;
   input DateR :$10.;
   if scan(dater,2)='99' then do;
      if scan(dater,1)='99' then date=mdy(7,1,input(scan(dater,3),best.));
      else date= mdy(input(scan(dater,1),best.),15,input(scan(dater,3),best.));
   end;
   else date= input(dater,mmddyy10.);
   format date mmddyy10.;
datalines;
99/99/2006
99/99/2006
8/99/2017
8/99/2017
8/99/2017
8/99/2017
7/99/2018
7/99/2018
6/99/2015
4/12/2012
;&lt;/PRE&gt;</description>
      <pubDate>Mon, 29 Jun 2020 21:33:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665925#M199177</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-06-29T21:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: Fixing messy dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665927#M199178</link>
      <description>if dateR =: '99/99' then do;&lt;BR /&gt;      date_want = mdy(7, 1, input(scan(dater, 3, '/'), 8.));&lt;BR /&gt;end;&lt;BR /&gt;else if scan(dater, 2, '/') = '99' then do;&lt;BR /&gt;    date_want = mdy(input(scan(dater, 1, '/'), 8.), 15,  input(scan(dater, 3, '/'), 8.));&lt;BR /&gt;end;&lt;BR /&gt;else date_want = input(date4, mmddyy10.);</description>
      <pubDate>Mon, 29 Jun 2020 21:35:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665927#M199178</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-06-29T21:35:27Z</dc:date>
    </item>
    <item>
      <title>Re: Fixing messy dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665960#M199197</link>
      <description>Works perfect!</description>
      <pubDate>Tue, 30 Jun 2020 00:46:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fixing-messy-dates/m-p/665960#M199197</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-30T00:46:28Z</dc:date>
    </item>
  </channel>
</rss>

