<?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 Counting Days in PROC SQL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297085#M62350</link>
    <description>&lt;P&gt;Hey everyone,&lt;/P&gt;&lt;P&gt;I have been trying to determine the amount of days between the first date and the last date. I have tried subtracting the first date from the last date but have run into a strange issue. If the amount of days between the first and last date is over a 100, it is still listed as 100. So if there was 200 days between the first and last visit, it would be listed as 100.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;CREATE TABLE FIRSTLAST AS&lt;/P&gt;&lt;P&gt;SELECT ID,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNT(ID) AS COUNT,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MIN(DOS_FROM) AS FIRST,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MAX(DOS_TO) AS LAST,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOS_TO - DOS_FROM AS DAYS&lt;/P&gt;&lt;P&gt;FROM DATA&lt;/P&gt;&lt;P&gt;GROUP BY ID;&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be much appreciated and if anyone has a better suggestion as to how to construct a better syntax, I am all ears.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;</description>
    <pubDate>Wed, 07 Sep 2016 23:23:53 GMT</pubDate>
    <dc:creator>MHP</dc:creator>
    <dc:date>2016-09-07T23:23:53Z</dc:date>
    <item>
      <title>Counting Days in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297085#M62350</link>
      <description>&lt;P&gt;Hey everyone,&lt;/P&gt;&lt;P&gt;I have been trying to determine the amount of days between the first date and the last date. I have tried subtracting the first date from the last date but have run into a strange issue. If the amount of days between the first and last date is over a 100, it is still listed as 100. So if there was 200 days between the first and last visit, it would be listed as 100.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;CREATE TABLE FIRSTLAST AS&lt;/P&gt;&lt;P&gt;SELECT ID,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNT(ID) AS COUNT,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MIN(DOS_FROM) AS FIRST,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MAX(DOS_TO) AS LAST,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOS_TO - DOS_FROM AS DAYS&lt;/P&gt;&lt;P&gt;FROM DATA&lt;/P&gt;&lt;P&gt;GROUP BY ID;&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be much appreciated and if anyone has a better suggestion as to how to construct a better syntax, I am all ears.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 23:23:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297085#M62350</guid>
      <dc:creator>MHP</dc:creator>
      <dc:date>2016-09-07T23:23:53Z</dc:date>
    </item>
    <item>
      <title>Re: Counting Days in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297086#M62351</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data HAVE;
  do ID = 1 to 5;
    do N=1 to 5;
      DOS_FROM=today()-365;
      DOS_TO=DOS_FROM+int(ranuni(0)*365);
      output;
    end;
  end;
  format DOS: date9.;
run;


proc sql;
  create table WANT as
  select ID
        ,count(ID)                 as COUNT
        ,min(DOS_FROM)             as FIRST format=date9.
        ,max(DOS_TO)               as LAST  format=date9.
        ,max(DOS_TO)-min(DOS_FROM) as DAYS
  from HAVE
  group by ID;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;TABLE class="table" rules="all" frame="box" cellspacing="0" cellpadding="5" summary="Procedure Print: Data Set WORK.WANT"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;COUNT&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;FIRST&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;LAST&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;DAYS&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;09SEP2015&lt;/TD&gt;
&lt;TD class="r data"&gt;18JUN2016&lt;/TD&gt;
&lt;TD class="r data"&gt;283&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;09SEP2015&lt;/TD&gt;
&lt;TD class="r data"&gt;07SEP2016&lt;/TD&gt;
&lt;TD class="r data"&gt;364&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;09SEP2015&lt;/TD&gt;
&lt;TD class="r data"&gt;20AUG2016&lt;/TD&gt;
&lt;TD class="r data"&gt;346&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;09SEP2015&lt;/TD&gt;
&lt;TD class="r data"&gt;17AUG2016&lt;/TD&gt;
&lt;TD class="r data"&gt;343&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;09SEP2015&lt;/TD&gt;
&lt;TD class="r data"&gt;26AUG2016&lt;/TD&gt;
&lt;TD class="r data"&gt;352&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Wed, 07 Sep 2016 23:41:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297086#M62351</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-09-07T23:41:41Z</dc:date>
    </item>
    <item>
      <title>Re: Counting Days in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297089#M62352</link>
      <description>&lt;P&gt;Thank you so much Chris! You are a lifesaver.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 23:46:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-Days-in-PROC-SQL/m-p/297089#M62352</guid>
      <dc:creator>MHP</dc:creator>
      <dc:date>2016-09-07T23:46:54Z</dc:date>
    </item>
  </channel>
</rss>

