<?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: extract part of character string to create new varaible in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209204#M51845</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Flag variable:&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input string $20.;&lt;/P&gt;&lt;P&gt;_string=findw(string,'yes','_','ik')&amp;gt;0;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;yes-book&lt;/P&gt;&lt;P&gt;yes-internet&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;no_book&lt;/P&gt;&lt;P&gt;New YES&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Change variables names:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array chars _character_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array nums _numeric_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do over chars;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chars=translate(chars,'Q', '_');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;do over nums;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nums=translate(nums,'Q', '_');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Mar 2015 18:00:10 GMT</pubDate>
    <dc:creator>slchen</dc:creator>
    <dc:date>2015-03-24T18:00:10Z</dc:date>
    <item>
      <title>extract part of character string to create new varaible</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209203#M51844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need help to find the best way to extract part of my character string which is like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;choice(Var name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;yes-book&lt;/P&gt;&lt;P&gt;yes-internet&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;., now I need to create a new variable from this variable by deciding if it has a yes or yes-"something" then new var = 1 else if its no, new var=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can do it but looking for the best way to do so.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Second problem,&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to rename all variables in my data set, which are like 1 , 2 , 3 ,4 and so in original dataset. I read the excel file in sas and it transformed them into _1, _2 , _3 and so on . I want to change them all&amp;nbsp; to say Q1, Q2, and so on. Please suggest an efficient way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for you time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Mar 2015 17:10:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209203#M51844</guid>
      <dc:creator>Ruhi</dc:creator>
      <dc:date>2015-03-24T17:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: extract part of character string to create new varaible</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209204#M51845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Flag variable:&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input string $20.;&lt;/P&gt;&lt;P&gt;_string=findw(string,'yes','_','ik')&amp;gt;0;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;yes&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;yes-book&lt;/P&gt;&lt;P&gt;yes-internet&lt;/P&gt;&lt;P&gt;no&lt;/P&gt;&lt;P&gt;no_book&lt;/P&gt;&lt;P&gt;New YES&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Change variables names:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array chars _character_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array nums _numeric_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do over chars;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chars=translate(chars,'Q', '_');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;do over nums;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nums=translate(nums,'Q', '_');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Mar 2015 18:00:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209204#M51845</guid>
      <dc:creator>slchen</dc:creator>
      <dc:date>2015-03-24T18:00:10Z</dc:date>
    </item>
    <item>
      <title>Re: extract part of character string to create new varaible</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209205#M51846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This may not be the answer you are waiting for, as it may only have uncompleted code or concept&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;1. Any of these functions will work for you: Index, Indexw, find, findw, prxmatch.&lt;/P&gt;&lt;P&gt;2. If your table is huge, I 'd recommended you to use Proc datasets + Macro to rename, Macro is to be generated using dictionary tables. If your table is not that big, then the following should work:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set&amp;nbsp; have;&lt;/P&gt;&lt;P&gt;rename _1-_10=Q1-Q10;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck,&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Mar 2015 18:03:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/extract-part-of-character-string-to-create-new-varaible/m-p/209205#M51846</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2015-03-24T18:03:05Z</dc:date>
    </item>
  </channel>
</rss>

