<?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: Incorrect order of mixed format sas dates in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227194#M5473</link>
    <description>&lt;P&gt;The procedures you mention usually have an ORDER=option but they behave somewhat differently in each procedure.&lt;/P&gt;&lt;P&gt;With Tabulate , Freq,&amp;nbsp;Means and Summary(on a class statement)&amp;nbsp;or Report (in a define statement) you may&amp;nbsp;get what you are looking for by sorting on either variable A or B and then using order=data to present data by the order it appears in the dataset.&lt;/P&gt;</description>
    <pubDate>Thu, 24 Sep 2015 21:58:47 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2015-09-24T21:58:47Z</dc:date>
    <item>
      <title>Incorrect order of mixed format sas dates</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227191#M5472</link>
      <description>&lt;P&gt;I have a dataset with lots of daily data.&amp;nbsp; I need a report that summarizes the data into various date formats on a go forward rolling date basis.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the record is GE than 3 years old I want it summed by year,&lt;/P&gt;&lt;P&gt;if the record is greater than 14 months but less than 3 years I want it summed by year and quarter&lt;/P&gt;&lt;P&gt;if the record is within 13 months I want it summed by year month.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have created this code which is giving me the correct value for the DATE_CAT variable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATE_DELTA = YEAR(a)-YEAR(b);&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;DATE_DELTA2 = INTCK(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'MONTH'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;,b,a);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;IF&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DATE_DELTA2 LE &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;12&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;THEN&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; date_cat = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;put&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;(b,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yymon7.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;); &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DATE_DELTA LE &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;AND&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DATE_DELTA2 GE &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;13&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;Then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DATE_CAT = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;put&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;(b,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;yyq6.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DATE_DELTA GE &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; date_cat = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;PUT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;(b,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;YEAR.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;The problem is when I run a proc..&amp;nbsp; (freq, tabulate, report, etc.) the order of the DATE_CAT variable is not in&amp;nbsp;the correct date order.&amp;nbsp; It looks like its sorting alpha numeric hence why AUG is before Dec but Dec before Jul.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;Is there a way to retain the correct sort order of the date with the modified date catagory variable?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;Thanks,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;ex:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;date_cat&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Frequency&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2009&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;8177&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2010&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;19655&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2011&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;65243&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2012&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;92328&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2013Q1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;28020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2013Q2&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;30888&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2013Q3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;34284&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2013Q4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;35988&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014AUG&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;9624&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014DEC&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;7243&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014JUL&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;10668&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014NOV&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;8115&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014OCT&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;9194&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014Q1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;30324&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014Q2&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;32268&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2014SEP&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;10142&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015APR&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;3015&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015AUG&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;644&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015FEB&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;5711&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015JAN&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;6419&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015JUL&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;1766&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015JUN&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;3178&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015MAR&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;3516&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2015MAY&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;2488&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 21:38:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227191#M5472</guid>
      <dc:creator>SSchneider</dc:creator>
      <dc:date>2015-09-24T21:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: Incorrect order of mixed format sas dates</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227194#M5473</link>
      <description>&lt;P&gt;The procedures you mention usually have an ORDER=option but they behave somewhat differently in each procedure.&lt;/P&gt;&lt;P&gt;With Tabulate , Freq,&amp;nbsp;Means and Summary(on a class statement)&amp;nbsp;or Report (in a define statement) you may&amp;nbsp;get what you are looking for by sorting on either variable A or B and then using order=data to present data by the order it appears in the dataset.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 21:58:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227194#M5473</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-09-24T21:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Incorrect order of mixed format sas dates</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227214#M5474</link>
      <description>&lt;P&gt;It would be easier to use a different scheme, instead of 2015AUG, for example, use 201508. &amp;nbsp;You could obtain this in a few ways, one being:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;length datecat $ 6;&lt;/P&gt;&lt;P&gt;if date_delta2 &amp;lt; 12 then datecat = put(b, yymmddn8.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you wanted to print 2015AUG instead of 201508, you would need to take two additional steps. &amp;nbsp;First, create a format that translates from "201508" into "2015AUG" (and for all the other possible months as well). &amp;nbsp;And second, specify ORDER=INTERNAL (which is the default for some procedures, but not for all).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;</description>
      <pubDate>Fri, 25 Sep 2015 03:14:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Incorrect-order-of-mixed-format-sas-dates/m-p/227214#M5474</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2015-09-25T03:14:21Z</dc:date>
    </item>
  </channel>
</rss>

