<?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 ERROR in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73048#M21183</link>
    <description>I have the following code,&lt;BR /&gt;
PROC IMPORT OUT= WORK.Data &lt;BR /&gt;
            DATAFILE= "/home/rtp00//DataSets/Data.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
PROC IMPORT OUT= WORK.Pc_factors &lt;BR /&gt;
            DATAFILE= "/home/rtp00/DataSets/PC factors.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
PROC IMPORT OUT= WORK.Class_base_rates &lt;BR /&gt;
            DATAFILE= "/home/rtp00//DataSets/ClassBaseRates.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
&lt;BR /&gt;
PROC SQL;&lt;BR /&gt;
CREATE  table Work.Impact as&lt;BR /&gt;
SELECT  Data.Product,Data.Seg,Data.Company,Data.Building,Class_base_rates.Class&lt;BR /&gt;
	&lt;BR /&gt;
From Data &lt;BR /&gt;
LEFT OUTER JOIN Pc_factors&lt;BR /&gt;
	ON Data.ProtCd=Pc_factors.ProtClass&lt;BR /&gt;
	And Data.Seg=Pc_factors.Segments&lt;BR /&gt;
 &lt;BR /&gt;
LEFT OUTER JOIN Class_base_rates&lt;BR /&gt;
	ON Data.Product=Class_base_rates.Product&lt;BR /&gt;
 	AND Data.Class=Class_base_rates.Class&lt;BR /&gt;
;&lt;BR /&gt;
Quit;&lt;BR /&gt;
This is showing an error . It says"ERROR;Expression using equals (=) has components that are of different data types" I can not spot any error.&lt;BR /&gt;
My second question is , in the above query, all the datasets are importing from csv files. How can I format the variables? for example the variable Class is to be numeric?&lt;BR /&gt;
Thanks.</description>
    <pubDate>Wed, 23 Sep 2009 20:57:06 GMT</pubDate>
    <dc:creator>SP2</dc:creator>
    <dc:date>2009-09-23T20:57:06Z</dc:date>
    <item>
      <title>ERROR</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73048#M21183</link>
      <description>I have the following code,&lt;BR /&gt;
PROC IMPORT OUT= WORK.Data &lt;BR /&gt;
            DATAFILE= "/home/rtp00//DataSets/Data.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
PROC IMPORT OUT= WORK.Pc_factors &lt;BR /&gt;
            DATAFILE= "/home/rtp00/DataSets/PC factors.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
PROC IMPORT OUT= WORK.Class_base_rates &lt;BR /&gt;
            DATAFILE= "/home/rtp00//DataSets/ClassBaseRates.csv" &lt;BR /&gt;
            DBMS=CSV REPLACE;&lt;BR /&gt;
     GETNAMES=YES;&lt;BR /&gt;
     DATAROW=2;&lt;BR /&gt;
&lt;BR /&gt;
PROC SQL;&lt;BR /&gt;
CREATE  table Work.Impact as&lt;BR /&gt;
SELECT  Data.Product,Data.Seg,Data.Company,Data.Building,Class_base_rates.Class&lt;BR /&gt;
	&lt;BR /&gt;
From Data &lt;BR /&gt;
LEFT OUTER JOIN Pc_factors&lt;BR /&gt;
	ON Data.ProtCd=Pc_factors.ProtClass&lt;BR /&gt;
	And Data.Seg=Pc_factors.Segments&lt;BR /&gt;
 &lt;BR /&gt;
LEFT OUTER JOIN Class_base_rates&lt;BR /&gt;
	ON Data.Product=Class_base_rates.Product&lt;BR /&gt;
 	AND Data.Class=Class_base_rates.Class&lt;BR /&gt;
;&lt;BR /&gt;
Quit;&lt;BR /&gt;
This is showing an error . It says"ERROR;Expression using equals (=) has components that are of different data types" I can not spot any error.&lt;BR /&gt;
My second question is , in the above query, all the datasets are importing from csv files. How can I format the variables? for example the variable Class is to be numeric?&lt;BR /&gt;
Thanks.</description>
      <pubDate>Wed, 23 Sep 2009 20:57:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73048#M21183</guid>
      <dc:creator>SP2</dc:creator>
      <dc:date>2009-09-23T20:57:06Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73049#M21184</link>
      <description>Hi SP2,&lt;BR /&gt;
&lt;BR /&gt;
For your second question:&lt;BR /&gt;
Try adding the MIXED=YES option in your PROC IMPORT. Hope it works.&lt;BR /&gt;
&lt;BR /&gt;
Regards,&lt;BR /&gt;
Milton</description>
      <pubDate>Thu, 24 Sep 2009 00:34:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73049#M21184</guid>
      <dc:creator>milts</dc:creator>
      <dc:date>2009-09-24T00:34:35Z</dc:date>
    </item>
    <item>
      <title>Re: ERROR</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73050#M21185</link>
      <description>If you do a PROC CONTENTS between the IMPORT and the SQL, you will see the fields that are of mis-matched types.&lt;BR /&gt;
&lt;BR /&gt;
It is fairly common for IMPORT to guess the wrong data type on .csv files.  The GUESSINGROWS statement can help it get it right.&lt;BR /&gt;
&lt;BR /&gt;
Another possibility would be to use EGuide 4.2 to set up the data read.  The code that it generates is much more robust than the basic SAS 9.2 IMPORT.  You can then copy that code into your program.&lt;BR /&gt;
&lt;BR /&gt;
Doc Muhlbaier&lt;BR /&gt;
Duke</description>
      <pubDate>Thu, 24 Sep 2009 15:05:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/ERROR/m-p/73050#M21185</guid>
      <dc:creator>Doc_Duke</dc:creator>
      <dc:date>2009-09-24T15:05:29Z</dc:date>
    </item>
  </channel>
</rss>

