<?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 SAS Dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200097#M37393</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hey folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get really frustrated working with SAS dates!&amp;nbsp; I created a variable called SpringDLS that I want to call and use in a calculation in a data step.&amp;nbsp; The macro variable is right, (02/11/2015), but I'm getting a syntax error.&amp;nbsp; Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;libname GADS 'C:\TEMP\';&lt;BR /&gt;data _null_;&lt;BR /&gt; SpringDLS = '11-feb-2015'd;&lt;BR /&gt; call symput ('SpringDLS',trim(left(put(SpringDLS, mmddyy10.))));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc import&lt;BR /&gt;datafile =&amp;nbsp; 'C:\Temp\GADS CM 02 Feb 2015.CSV'&lt;BR /&gt;out = gads1&lt;BR /&gt;DBMS = CSV replace;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data gads2 (drop = Cause_detail Sub_System);&lt;BR /&gt;set gads1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;format &amp;amp;SpringDLS mmddyy10.;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;StartTime = timepart(StartDateTime);&lt;BR /&gt; format StartTime HHMM.;&lt;/P&gt;&lt;P&gt;EndTime = timepart(EndDateTime);&lt;BR /&gt; format EndTime HHMM.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;StartDate = datepart(StartDateTime);&lt;BR /&gt; format StartDate mmddyy10.;&lt;/P&gt;&lt;P&gt;EndDate = datepart(EndDateTime);&lt;BR /&gt; format EndDate mmddyy10.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NumDays = EndDate-StartDate + 1;&lt;/P&gt;&lt;P&gt; if (&amp;amp;SpringDLS &amp;gt;= StartDate and &amp;amp;SpringDLS &amp;lt;= EndDate) then DLS = 'Y';&lt;/P&gt;&lt;P&gt; if DLS = 'Y' then NumIntervals = NumDays*96-4;&lt;BR /&gt;&amp;nbsp; else NumIntervals = NumDays*96;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Mar 2015 16:15:17 GMT</pubDate>
    <dc:creator>BU2B</dc:creator>
    <dc:date>2015-03-12T16:15:17Z</dc:date>
    <item>
      <title>SAS Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200097#M37393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hey folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get really frustrated working with SAS dates!&amp;nbsp; I created a variable called SpringDLS that I want to call and use in a calculation in a data step.&amp;nbsp; The macro variable is right, (02/11/2015), but I'm getting a syntax error.&amp;nbsp; Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;libname GADS 'C:\TEMP\';&lt;BR /&gt;data _null_;&lt;BR /&gt; SpringDLS = '11-feb-2015'd;&lt;BR /&gt; call symput ('SpringDLS',trim(left(put(SpringDLS, mmddyy10.))));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc import&lt;BR /&gt;datafile =&amp;nbsp; 'C:\Temp\GADS CM 02 Feb 2015.CSV'&lt;BR /&gt;out = gads1&lt;BR /&gt;DBMS = CSV replace;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data gads2 (drop = Cause_detail Sub_System);&lt;BR /&gt;set gads1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;format &amp;amp;SpringDLS mmddyy10.;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;StartTime = timepart(StartDateTime);&lt;BR /&gt; format StartTime HHMM.;&lt;/P&gt;&lt;P&gt;EndTime = timepart(EndDateTime);&lt;BR /&gt; format EndTime HHMM.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;StartDate = datepart(StartDateTime);&lt;BR /&gt; format StartDate mmddyy10.;&lt;/P&gt;&lt;P&gt;EndDate = datepart(EndDateTime);&lt;BR /&gt; format EndDate mmddyy10.;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NumDays = EndDate-StartDate + 1;&lt;/P&gt;&lt;P&gt; if (&amp;amp;SpringDLS &amp;gt;= StartDate and &amp;amp;SpringDLS &amp;lt;= EndDate) then DLS = 'Y';&lt;/P&gt;&lt;P&gt; if DLS = 'Y' then NumIntervals = NumDays*96-4;&lt;BR /&gt;&amp;nbsp; else NumIntervals = NumDays*96;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 16:15:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200097#M37393</guid>
      <dc:creator>BU2B</dc:creator>
      <dc:date>2015-03-12T16:15:17Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200098#M37394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd start by changing the initial datastep, as you aren't getting a SAS date with your current code. Try:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SpringDLS = '11feb2015'd;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call symput ('SpringDLS',SpringDLS);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plus, I don't think you can use a format statement to assign a format to a macro variable (like &amp;amp;SpringDLS) and don't need it anyway.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 16:28:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200098#M37394</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2015-03-12T16:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200099#M37395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I broke it down a little different but get the same results:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let date = '11feb2015';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;call symput('SpringDLS',input(&amp;amp;date,date9.));&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;format date2 mmddyy10.;&lt;/P&gt;&lt;P&gt;date1=&amp;amp;date;&lt;/P&gt;&lt;P&gt;date2=&amp;amp;SpringDLS + 1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 16:32:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200099#M37395</guid>
      <dc:creator>Steelers_In_DC</dc:creator>
      <dc:date>2015-03-12T16:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200100#M37396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your original question, you have to picture the statemetn in&amp;nbsp; your DATA step:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if (02/11/2015 &amp;gt;= StartDate and 02/11/2015 &amp;lt;= EndDate) then DLS = 'Y';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you had coded this in a DATA step, the slahes would indicate division:&amp;nbsp; 02 divided by 11, divided by 2015.&amp;nbsp; In that light, perhaps it makes sense why you got the wrong result originally.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Similarly, picture this statement in a DATA step:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;date1 = '11feb2015';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That would make DATE1 a character variable.&amp;nbsp; If you want it to be a date, you would need to code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;date1 = '11feb2015'd;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, that would mean:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;date1 = &amp;amp;date.d;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The trick is to picture what the SAS code looks like, once macro language has helped generate the SAS statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 16:51:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200100#M37396</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2015-03-12T16:51:41Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200101#M37397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks guys!&amp;nbsp; I'm sure I'll be back when I hit the next step... I'm going to try and struggle through it on my own 1st!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 17:25:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Dates/m-p/200101#M37397</guid>
      <dc:creator>BU2B</dc:creator>
      <dc:date>2015-03-12T17:25:33Z</dc:date>
    </item>
  </channel>
</rss>

