<?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: How to convert character  variable to numeric variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385930#M92384</link>
    <description>&lt;P&gt;You can use arrays but, for only 3 variables, they aren't needed. e.g.:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test1;
  ID="0000102+";
  SEQ_NO="000932+";
  BALANCE="003234.32+";
  DTM='09mAY2017:02:00:00'DT;
  FORMAT DTM DATETIME20.;
RUN;

data test (drop=_:);
  set test1 (rename=(id=_id seq_no=_seq_no balance=_balance));
  id=input(compress(_id,"+"),8.);
  balance=input(compress(_balance,"+"),8.);
  seq_no=input(compress(_seq_no),8.);
run;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 07 Aug 2017 04:07:44 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2017-08-07T04:07:44Z</dc:date>
    <item>
      <title>How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385929#M92383</link>
      <description>&lt;P&gt;data test1:&lt;BR /&gt;ID="0000102+";&lt;BR /&gt;SEQ_NO="000932+";&lt;BR /&gt;BALANCE="003234.32+";&lt;BR /&gt;DTM='09mAY2017:02:00:00'DT;&lt;BR /&gt;FORMAT DTM DATETIME20.;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;I have to modify above TEST1 dataset in two scenarios.&lt;BR /&gt;1. I need to remove end + signs in Character variables;&lt;BR /&gt;2. I need to modify those character variables into numeric variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have used below program to accomplish.&lt;/P&gt;
&lt;P&gt;It's not working. Please let me know the how to correct the code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data test;&lt;/P&gt;
&lt;P&gt;attrib&lt;/P&gt;
&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length=8 format=19. informat=19.&lt;/P&gt;
&lt;P&gt;seq_no length=8 format=19. informat=19.&lt;/P&gt;
&lt;P&gt;balance length=8 format=22.2 informat=22.2 ;&lt;/P&gt;
&lt;P&gt;set test1 (rename=(id=id_ seq_no=seq_no_ balance=balance_));&lt;/P&gt;
&lt;P&gt;array col_name_old {3} id_ seq_no_ balance_;&lt;/P&gt;
&lt;P&gt;array col_name_new {3} id seq_no&amp;nbsp; balance;&lt;/P&gt;
&lt;P&gt;do i=1 to 3;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; if find(col_name_old{i}, "+") = length(col_name_old{i}) then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; col_name_old{i} = compress(col_name_old{i},"+");&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; col_names_new{{i} = col_name_old{i};&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 03:44:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385929#M92383</guid>
      <dc:creator>nbonda</dc:creator>
      <dc:date>2017-08-07T03:44:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385930#M92384</link>
      <description>&lt;P&gt;You can use arrays but, for only 3 variables, they aren't needed. e.g.:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test1;
  ID="0000102+";
  SEQ_NO="000932+";
  BALANCE="003234.32+";
  DTM='09mAY2017:02:00:00'DT;
  FORMAT DTM DATETIME20.;
RUN;

data test (drop=_:);
  set test1 (rename=(id=_id seq_no=_seq_no balance=_balance));
  id=input(compress(_id,"+"),8.);
  balance=input(compress(_balance,"+"),8.);
  seq_no=input(compress(_seq_no),8.);
run;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 04:07:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385930#M92384</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-08-07T04:07:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385933#M92386</link>
      <description>&lt;P&gt;For strings with a trailing sign, use the trailsgn. format.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 04:19:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385933#M92386</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-07T04:19:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385998#M92409</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;: Interestingly, for ID the trailsgn informat fails unless one specifies a width of 7 or more, and doesn't work at all if the field contains a decimal point (like, in this case, balance).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 13:30:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/385998#M92409</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-08-07T13:30:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386005#M92412</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;: Interestingly, for ID the trailsgn informat fails unless one specifies a width of 7 or more, and doesn't work at all if the field contains a decimal point (like, in this case, balance).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I have to differ.&lt;/P&gt;
&lt;P&gt;Run this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test1;
input id trailsgn10.;
cards;
0000102+
000932+
003234.32+
;
run;

data test2;
input _id $10.;
id = input(_id,trailsgn10.);
cards;
0000102+
000932+
003234.32+
;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Both steps produce correct numerical values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit: fixed a typo.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 13:41:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386005#M92412</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-07T13:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386011#M92416</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;: The problem is with the Balance field. I ran the following on SAS UE:&lt;/P&gt;
&lt;PRE&gt;data test2 (drop=_:);
  set test1 (rename=(id=_id seq_no=_seq_no balance=_balance));
  id=input(_id,trailsgn7.);
  balance=input(balance,trailsgn10.);
  seq_no=input(_seq_no,trailsgn8.);
run;
&lt;/PRE&gt;
&lt;P&gt;Of course, since the defalut is only 6, the width has to be specified for each variable. However, BALANCE results in a missing value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 13:50:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386011#M92416</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-08-07T13:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386017#M92420</link>
      <description>&lt;P&gt;Not possible for the value of balance as specified in the OP and used in my last post.&lt;/P&gt;
&lt;P&gt;Run this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
_balance = "003234.32+";
balance = input(_balance,trailsgn10.);
run;

proc print data=test noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt; _balance     balance

003234.32+    3234.32
&lt;/PRE&gt;
&lt;P&gt;No missing value there.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 14:02:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386017#M92420</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-07T14:02:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386032#M92423</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;: My error. There was a typo in my code. I had used (as posted):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  balance=input(balance,trailsgn10.);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;rather than:&lt;/P&gt;
&lt;PRE&gt;  balance=input(_balance,trailsgn10.);
&lt;/PRE&gt;
&lt;P&gt;Interestingly, that doesn't produce an uninitialized note.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 14:37:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386032#M92423</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-08-07T14:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386039#M92427</link>
      <description>&lt;P&gt;Thank you. It works. I never knew there is a informat like trailsgn.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Aug 2017 14:48:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386039#M92427</guid>
      <dc:creator>nbonda</dc:creator>
      <dc:date>2017-08-07T14:48:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386175#M92460</link>
      <description>&lt;P&gt;The "unitialized" NOTE is not created dynamically, but syntactically while the step is compiled. Since the compiler finds an assignment to balance, it does not issue a NOTE; obviously it does not check if it's a recursive assignment.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2017 05:52:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386175#M92460</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-08T05:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to convert character  variable to numeric variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386177#M92462</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/38386"&gt;@nbonda&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Thank you. It works. I never knew there is a informat like trailsgn.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;IIRC, it was added with version 9.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2017 06:26:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-convert-character-variable-to-numeric-variable/m-p/386177#M92462</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-08T06:26:08Z</dc:date>
    </item>
  </channel>
</rss>

