<?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 Why does Data Type Changes in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435799#M108293</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset, aggr_tmp_1, which has aggr and aggr_raw as "Character". However, when, using the aggr_tmp_1, proc sql creates a new dataset, aggr_tmp_2, both aggr and aggr_raw are "Numeric".&lt;/P&gt;
&lt;P&gt;Can anyone provide insight on why this is happening?&lt;/P&gt;
&lt;P&gt;Thank you for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;data aggr_tmp_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set aggr_tmp_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;by AGGR_INSTRUMENT_ID;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;length attribute $25.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;attribute = "&amp;amp;var_name.";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;retain diff;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if first.AGGR_INSTRUMENT_ID then &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;diff = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (not missing(aggr)) and (aggr ne '0') and (aggr ne aggr_raw) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;diff = 1;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table aggr_tmp_2 as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;select aggr_instrument_id, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;aggr, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;count(aggr_raw) as aggr_raw, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;avg (diff) as diff&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;from aggr_tmp_1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;group by aggr_instrument_id, aggr;&lt;BR /&gt;quit;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Feb 2018 18:56:52 GMT</pubDate>
    <dc:creator>asimraja</dc:creator>
    <dc:date>2018-02-09T18:56:52Z</dc:date>
    <item>
      <title>Why does Data Type Changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435799#M108293</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset, aggr_tmp_1, which has aggr and aggr_raw as "Character". However, when, using the aggr_tmp_1, proc sql creates a new dataset, aggr_tmp_2, both aggr and aggr_raw are "Numeric".&lt;/P&gt;
&lt;P&gt;Can anyone provide insight on why this is happening?&lt;/P&gt;
&lt;P&gt;Thank you for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Code:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;data aggr_tmp_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set aggr_tmp_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;by AGGR_INSTRUMENT_ID;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;length attribute $25.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;attribute = "&amp;amp;var_name.";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;retain diff;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if first.AGGR_INSTRUMENT_ID then &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;diff = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (not missing(aggr)) and (aggr ne '0') and (aggr ne aggr_raw) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;diff = 1;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table aggr_tmp_2 as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;select aggr_instrument_id, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;aggr, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;count(aggr_raw) as aggr_raw, &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;avg (diff) as diff&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;from aggr_tmp_1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;group by aggr_instrument_id, aggr;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Feb 2018 18:56:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435799#M108293</guid>
      <dc:creator>asimraja</dc:creator>
      <dc:date>2018-02-09T18:56:52Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Data Type Changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435817#M108303</link>
      <description>&lt;P&gt;You reinitialize aggr_raw with the value of count(aggr_raw) =&amp;gt; Numeric result. Try this:&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table aggr_tmp_2 as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;select aggr_instrument_id,&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aggr, aggr_raw,&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count(aggr_raw) as count_aggr_raw,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;avg (diff) as diff&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;from aggr_tmp_1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;group by aggr_instrument_id, aggr;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regarding aggr, make sure it exists. By default, SAS converts uninitialized variables&amp;nbsp;in numerical vars.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Edit: It does not make too much sense to keep aggr_raw in the query (depending on your needs). So you better exclude it.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Feb 2018 19:30:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435817#M108303</guid>
      <dc:creator>alex_a</dc:creator>
      <dc:date>2018-02-09T19:30:18Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Data Type Changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435830#M108305</link>
      <description>Thank you alex_a!</description>
      <pubDate>Fri, 09 Feb 2018 19:56:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-does-Data-Type-Changes/m-p/435830#M108305</guid>
      <dc:creator>asimraja</dc:creator>
      <dc:date>2018-02-09T19:56:45Z</dc:date>
    </item>
  </channel>
</rss>

