<?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: Using informats for time data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255876#M48939</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;Could offer some feedback here?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I have saved the Excel file as a CSV. I am attempting to use the following code:&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test;
infile "/folders/myfolders/..." dlm=",";
input _300101 TIMEw. _300102 TIMEw. _300201 TIMEw. _300202 TIMEw.;
run;

proc print data=test;
run;&lt;/PRE&gt;
&lt;P&gt;I am getting an "Invalid data" error for each variable (See attached screen shot).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12375i49718C69AF401D87/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="error log.jpg" title="error log.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12376i15E0450C04EFA57A/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="time data example.jpg" title="time data example.jpg" /&gt;</description>
    <pubDate>Thu, 10 Mar 2016 18:17:57 GMT</pubDate>
    <dc:creator>_maldini_</dc:creator>
    <dc:date>2016-03-10T18:17:57Z</dc:date>
    <item>
      <title>Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255585#M48826</link>
      <description>&lt;P&gt;Can I assign informats to specific varialbes using PROC IMPORT and an Excel file, or in a DATA step (The resources I have seen for assigning informats all seem to reference using an INPUT statement for raw data).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I use SAS Help to find a list of informats?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have 4 character variables w/ time values (e.g. 11:00 PM, 1:00PM). When I read them into SAS (Using PROC IMPORT from an Excel file) they are assigned different formats and informats. The first 2 variables are assigned an informat of $21. The next 2 are assigned an informat of $11 (See attachment).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a PROC PRINT (See attachment), the values that have a space between the numbers and the AM/PM appear as long strings with a single digit followed by multiple digits following the decimal point.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, 10:00 AM (Space) appears as 0.916666667, while 10:00AM (No space) appears as 10:00AM.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How should I assign&amp;nbsp;informats for these variables so that the values appear consistent. Thanks for you help!&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12370i7157B27A93EF1731/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="excel.jpg" title="excel.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12371i27A4B21B97F963BA/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="informat.jpg" title="informat.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12372iBED637592EAD1623/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="sas.jpg" title="sas.jpg" /&gt;</description>
      <pubDate>Wed, 09 Mar 2016 17:09:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255585#M48826</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-09T17:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255588#M48829</link>
      <description>&lt;P&gt;Excel doesn't have fixed structures and using Proc Import you're allowing SAS to guess the types. Unfortunately&amp;nbsp;Proc Import&amp;nbsp;with Excel doesn't allow specification of the data types.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want full control, you'll need to export the file to a CSV and import the data using a data step with the input and informat statements.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could process the file manually after the Proc Import but then the next time, if the file structure changes a little, you may not get the exact same import and your code won't work anymore.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Mar 2016 17:13:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255588#M48829</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-09T17:13:33Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255595#M48835</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;Thanks. How might I process the data manually in this situation?&lt;/P&gt;</description>
      <pubDate>Wed, 09 Mar 2016 17:38:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255595#M48835</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-09T17:38:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255876#M48939</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;Could offer some feedback here?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I have saved the Excel file as a CSV. I am attempting to use the following code:&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test;
infile "/folders/myfolders/..." dlm=",";
input _300101 TIMEw. _300102 TIMEw. _300201 TIMEw. _300202 TIMEw.;
run;

proc print data=test;
run;&lt;/PRE&gt;
&lt;P&gt;I am getting an "Invalid data" error for each variable (See attached screen shot).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12375i49718C69AF401D87/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="error log.jpg" title="error log.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/12376i15E0450C04EFA57A/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="time data example.jpg" title="time data example.jpg" /&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:17:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255876#M48939</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-10T18:17:57Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255878#M48940</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/36911"&gt;@_maldini_﻿&lt;/a&gt;&amp;nbsp;Please post the data as text, I can't put images into SAS and I don't want to type things out.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would suggest removing the format from the input statement and specifying and INFORMAT instead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In fact, I would use proc import to see the generated code from the log, and then modify that since it's a bit easier to understand the structure required for a data step import.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:15:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255878#M48940</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-10T18:15:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255881#M48941</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;I just uploaded the data.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I thought I WAS specifying an &lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000197899.htm" target="_self"&gt;INFORMAT&lt;/A&gt;!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I run the PROC IMPORT, I receive the following error message:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;"NOTE: Unable to open parameter catalog: SASUSER.PARMS.PARMS.SLIST in update mode. Temporary parameter values will be saved to WORK.PARMS.PARMS.SLIST.&lt;BR /&gt; Unable to sample external file, no data in first 5 records.&lt;BR /&gt; ERROR: Import unsuccessful. See SAS Log for details."&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc import
datafile= "/folders/myfolders...csv" 
out=test;
run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:27:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255881#M48941</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-10T18:27:53Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255883#M48942</link>
      <description>&lt;P&gt;Post your full code that generates the error. Your text file errors out for me, please post the data into a message.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:29:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255883#M48942</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-10T18:29:40Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255888#M48944</link>
      <description>&lt;PRE&gt;data test_data;
infile "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv" dlm=",";
input _300101 _300102 _300201 _300202;
run;

1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         data test_data;
 57         infile "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv" dlm=",";
 58         input _300101 _300102 _300201 _300202;
 59         run;
 
 NOTE: The infile "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv" is:
       Filename=/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv,
       Owner Name=root,Group Name=vboxsf,
       Access Permission=-rwxrwx---,
       Last Modified=10Mar2016:09:52:08,
       File Size (bytes)=226
 
 NOTE: Invalid data for _300101 in line 1 1-7.
 NOTE: Invalid data for _300102 in line 1 9-15.
 NOTE: Invalid data for _300201 in line 1 17-23.
 NOTE: Invalid data for _300202 in line 1 25-39.
 RULE:     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0                      
 
 1   CHAR  _300101,_300102,_300201,_300202.8:00 PM,10:00 PM,4:00 AM,9:00 AM.1:00 AM,2:00 AM,10:00 AM,12:00 PM.1
     ZONE  5333333253333332533333325333333033332542333332542333324423333244033332442333324423333324423333325403
     NUMR  F300101CF300102CF300201CF300202D8A0000DC10A0000DC4A0001DC9A0001DD1A0001DC2A0001DC10A0001DC12A0000DD1
 
      101  2:00AM,11:30AM,8:00AM,6:30AM.12:00 AM,2:00 AM,6:00 AM,11:00 AM.7:00AM,9:00AM,11:00PM,11:00PM.12:00 A
     ZONE  3333442333334423333442333344033333244233332442333324423333324403333442333344233333542333335403333324
     NUMR  2A001DC11A301DC8A001DC6A301DD12A0001DC2A0001DC6A0001DC11A0001DD7A001DC9A001DC11A000DC11A000DD12A0001
      201  M,12:00 AM,6:30 AM,8:00 AM 226
 _300101=. _300102=. _300201=. _300202=. _ERROR_=1 _N_=1
 NOTE: 1 record was read from the infile "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data 
       COPY.csv".
       The minimum record length was 226.
       The maximum record length was 226.
 NOTE: The data set WORK.TEST_DATA has 1 observations and 4 variables.
 NOTE: DATA statement used (Total process time):
       real time           0.02 seconds
       cpu time            0.02 seconds
&lt;/PRE&gt;
&lt;PRE&gt;proc import
datafile= "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv" 
out=test_import REPLACE;
run;


 *Time program.sas  Importing Datasets.sas 
CODE LOG RESULTS

Errors, Warnings, Notes
 Errors (1)
 Warnings
 Notes (2)
 
 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         proc import
 57         datafile= "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv"
 58         out=test_import;
 59         run;
 
 NOTE: Unable to open parameter catalog: SASUSER.PARMS.PARMS.SLIST in update mode. Temporary parameter values will be saved to 
 WORK.PARMS.PARMS.SLIST.
 Unable to sample external file, no data in first 5 records.
 ERROR: Import unsuccessful.  See SAS Log for details.
 NOTE: The SAS System stopped processing this step because of errors.
 NOTE: PROCEDURE IMPORT used (Total process time):
       real time           0.06 seconds
       cpu time            0.04 seconds
       
 60         
 61         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 73         
&lt;/PRE&gt;
&lt;P&gt;_300101,_300102,_300201,_300202 8:00 PM,10:00 PM,4:00 AM,9:00 AM 1:00 AM,2:00 AM,10:00 AM,12:00 PM 12:00AM,11:30AM,8:00AM,6:30AM 12:00 AM,2:00 AM,6:00 AM,11:00 AM 7:00AM,9:00AM,11:00PM,11:00PM 12:00 AM,12:00 AM,6:30 AM,8:00 AM&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:41:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255888#M48944</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-10T18:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255890#M48945</link>
      <description>&lt;P&gt;Try adding the DBMS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc import
datafile= "/folders/myfolders/XXXX/XXXX/! Datasets/Original Datasets/XXXX Complete A4 Data COPY.csv" &lt;BR /&gt;DBMS=CSV 
out=test_import REPLACE;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:44:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255890#M48945</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-10T18:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255895#M48946</link>
      <description>&lt;P&gt;Similar error...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;BR /&gt; 55 &lt;BR /&gt; 56 proc import&lt;BR /&gt; 57 datafile= "/folders/myfolders/xxxx/xxxx/! Datasets/Original Datasets/xxxxx Complete A4 Data COPY.csv"&lt;BR /&gt; 58 dbms=csv&lt;BR /&gt; 59 out=test_import REPLACE;&lt;BR /&gt; 60 run;&lt;BR /&gt; &lt;BR /&gt; NOTE: Unable to open parameter catalog: SASUSER.PARMS.PARMS.SLIST in update mode. Temporary parameter values will be saved to &lt;BR /&gt; WORK.PARMS.PARMS.SLIST.&lt;BR /&gt; Unable to sample external file, no data in first 5 records.&lt;BR /&gt; ERROR: Import unsuccessful. See SAS Log for details.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 18:59:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255895#M48946</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-10T18:59:41Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255901#M48948</link>
      <description>Check your file. SAS thinks its empty.</description>
      <pubDate>Thu, 10 Mar 2016 19:31:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255901#M48948</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-10T19:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: Using informats for time data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255903#M48950</link>
      <description>&lt;P&gt;It's not empy. The data is there:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;_300101,_300102,_300201,_300202, 8:00 PM,10:00 PM,4:00 AM,9:00 AM 1:00 AM,2:00 AM,10:00 AM,12:00 PM 12:00AM,11:30AM,8:00AM,6:30AM 12:00 AM,2:00 AM,6:00 AM,11:00 AM 7:00AM,9:00AM,11:00PM,11:00PM 12:00 AM,12:00 AM,6:30 AM,8:00 AM&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 20:02:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-informats-for-time-data/m-p/255903#M48950</guid>
      <dc:creator>_maldini_</dc:creator>
      <dc:date>2016-03-10T20:02:58Z</dc:date>
    </item>
  </channel>
</rss>

