<?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: Split h1-h10 into h1,h2,h3,h4,.... h10 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127619#M26041</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;With a combination of bunch of Char functions, we can have something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;input var $ 50.;&lt;/P&gt;&lt;P&gt;length new_var $ 8;&lt;/P&gt;&lt;P&gt;do _j=1 to countw(var,',');&lt;/P&gt;&lt;P&gt;_var=scan(var,_j,',');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if find(_var,'-') then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=compress(scan(_var,1,'-'),,'kd') to compress(scan(_var,2,'-'),,'kd');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=cats(compress(scan(_var,1,'-'),,'d'),_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else do;new_var=left(_var);output;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop _:;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H51-H55, T10&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Sep 2013 13:30:46 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2013-09-02T13:30:46Z</dc:date>
    <item>
      <title>Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127618#M26040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to translate the contents of a column. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, the content includes the following value (this is the content of 1 column in 1 row):&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H51-H55, T10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to translate that to different rows. &lt;/P&gt;&lt;P&gt;The result should look like this:&lt;/P&gt;&lt;P&gt;G1&lt;/P&gt;&lt;P&gt;G2&lt;/P&gt;&lt;P&gt;G4&lt;/P&gt;&lt;P&gt;X1&lt;/P&gt;&lt;P&gt;X2&lt;/P&gt;&lt;P&gt;X3&lt;/P&gt;&lt;P&gt;H51&lt;/P&gt;&lt;P&gt;H52&lt;/P&gt;&lt;P&gt;H53&lt;/P&gt;&lt;P&gt;H54&lt;/P&gt;&lt;P&gt;H55&lt;/P&gt;&lt;P&gt;T10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have not problems making rows of the single ones (I mean G1 G2 G4 and T10). The function scan works perfectly. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is how I translate X1-X3 into X1, X2, X3 and the same for H51-H55.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 11:59:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127618#M26040</guid>
      <dc:creator>Richardvan_tHoff</dc:creator>
      <dc:date>2013-09-02T11:59:24Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127619#M26041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;With a combination of bunch of Char functions, we can have something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;input var $ 50.;&lt;/P&gt;&lt;P&gt;length new_var $ 8;&lt;/P&gt;&lt;P&gt;do _j=1 to countw(var,',');&lt;/P&gt;&lt;P&gt;_var=scan(var,_j,',');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if find(_var,'-') then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=compress(scan(_var,1,'-'),,'kd') to compress(scan(_var,2,'-'),,'kd');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=cats(compress(scan(_var,1,'-'),,'d'),_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else do;new_var=left(_var);output;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop _:;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H51-H55, T10&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 13:30:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127619#M26041</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-09-02T13:30:46Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127620#M26042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What if a word has an imbedded digit? NA3ME1-NA3ME1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Consider using the ANYFIRST function with negative start.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 13:43:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127620#M26042</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-09-02T13:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127621#M26043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These look like variable lists.&amp;nbsp; If they are you might be able to use that to your advantage.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 13:45:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127621#M26043</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-09-02T13:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127622#M26044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with datanull.&amp;nbsp; If they are variable lists, you could use something like the following to convert them into a macro variable and then scan the macro variable.&amp;nbsp; e.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat contents $80.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input contents &amp;amp;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H51-H55, T10&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; contents=translate(contents,' ',',');&lt;/P&gt;&lt;P&gt;&amp;nbsp; call symput('varlist',contents);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input &amp;amp;varlist.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&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;proc sql noprint;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; into :vars separated by " "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dictionary.columns&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname="WORK" and&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memname="TEST"&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put &amp;amp;vars.;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 16:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127622#M26044</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-09-02T16:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127623#M26045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, DN, can never go under your radar -:). ANYFIRST should have a shot, while at this stage it seems to me using PRX is more straightforward.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;input var $ 80.;&lt;/P&gt;&lt;P&gt;length new_var $ 20;&lt;/P&gt;&lt;P&gt;do _j=1 to countw(var,',');&lt;/P&gt;&lt;P&gt;_var=scan(var,_j,',');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if find(_var,'-') then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _v1=scan(_var,1,'- ');&lt;/P&gt;&lt;P&gt;&amp;nbsp; _v2=scan(_var,2,'- ');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)&amp;nbsp; to prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else do;new_var=left(_var);output;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop _:;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H51-H55, T10,NA3ME1-NA3ME3, 34WE100-34WE103&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 17:21:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127623#M26045</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-09-02T17:21:29Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127624#M26046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Art,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Got this from Tom, who got it from DN, who got it elsewhere ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An alternative ending to your solution maintains the order of the names, and produces output as a single column.&amp;nbsp; Instead of reading from DICTIONARY.COLUMNS, try:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc transpose data=test (obs=0) out=want; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var &amp;amp;varlist;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 17:46:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127624#M26046</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2013-09-02T17:46:47Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127625#M26047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="5253" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt;: Yes, I was familiar with the method, but not sure of its origin either.&amp;nbsp; Tom, Randy Herbison, FriedEgg and I have a nifty use of it in a paper we're presenting at the MWSUG meeting later this month.&amp;nbsp; Take a look at: &lt;A href="http://www.sascommunity.org/mwiki/images/c/c5/S1-14-2013.pdf" title="http://www.sascommunity.org/mwiki/images/c/c5/S1-14-2013.pdf"&gt;http://www.sascommunity.org/mwiki/images/c/c5/S1-14-2013.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I usually like the SQL method more often as one can order the variables based on any variable that is contained in dictionary.columns, including name and column number.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Sep 2013 18:40:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127625#M26047</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-09-02T18:40:12Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127626#M26048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks all. I am using the code already from hai.kuo. Only made a minor change, because the variable could also contain only numbers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;data test;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;input var $ 80.;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;length new_var $ 20;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;do _j=1 to countw(var,',');&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;_var=scan(var,_j,',');&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; if find(_var,'-') then do;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _v1=scan(_var,1,'- ');&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _v2=scan(_var,2,'- ');&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)&amp;nbsp; to prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF(prxmatch("/\D+/",strip(_v1))) THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=_i;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; else do;new_var=left(_var);output;end;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;end;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;drop _:;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;cards;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;G1, G2, G4, X1 -X3, H51-H55, T10,NA3ME1-NA3ME3, 34WE100-34WE103, 1-10&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;The only problem I am trying to solve is when you have H01-H10. The above code would split it in the below rows&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H1&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H2&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H3&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H4&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;...&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H10&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;While it should be&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H01&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H02&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H03&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H04&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;...&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;H10&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 12:17:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127626#M26048</guid>
      <dc:creator>Richardvan_tHoff</dc:creator>
      <dc:date>2013-09-11T12:17:59Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127627#M26049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's actually fairly tricky to add within a single data step since you can't get to enforce a zn.w format. I see 2 alternatives&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1: Use PRX to capture number of leading 0s from your lower boundary and then control the number of those that are output based on your _i counter (like remove one 0 from the captured lead for each increment in log10(_i)). It would resemble something like this (untested)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;length lead $20.;&lt;/STRONG&gt; /*just so that prxchange output does not get converted to numeric*/&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)&amp;nbsp; to prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF(prxmatch("/\D+/",strip(_v1))) THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;lead=prxchange('s/(\w*\D+)(0*)(\d+)/$2/',-1,_v1);&lt;/STRONG&gt; /*you could change \d+ to [1-9]\d+ or something to clearly identify the purpose of 0* but since * is greedy its only a minor efficiency issue */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),&amp;nbsp; length), &lt;STRONG&gt;substrn(left(lead), 1, length(trim(left(lead)))-(floor(log10(_i))-floor(log10(prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)))) )&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;,_i);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;drop lead;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2: Another way would build a series of case based on the length of the fully captured digit as a string for the lower bound and use put&amp;amp; zn.w formats e.g.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)&amp;nbsp; to prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF(prxmatch("/\D+/",strip(_v1))) THEN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zlen = length(prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if zlen=1 then new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if zlen=2 then new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),put(_i, z2.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if zlen=8 then new_var=cats(prxchange('s/(\w*\D+)(\d+)/$1/',-1,_v1),put(_i, z8.));&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 13:51:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127627#M26049</guid>
      <dc:creator>Vince28_Statcan</dc:creator>
      <dc:date>2013-09-11T13:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127628#M26050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="522677" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;: The method I suggested will retain the leading zeros if present in the variable list.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 13:54:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127628#M26050</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-09-11T13:54:38Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127629#M26051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;Arthur Tabachneck wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;A _jive_internal="true" href="https://communities.sas.com/people/Richardvan'tHoff"&gt;Richard van't Hoff&lt;/A&gt;: The method I suggested will retain the leading zeros if present in the variable list.&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;I think there will be a problem defining variables with name like (at least in an input statement).&lt;/P&gt;&lt;P&gt;34WE100-34WE103, 1-10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I could not get that to work without making the words name literials.&amp;nbsp; Of course it wouldn't be too hard to add some code to convert those words to name literials.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 14:26:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127629#M26051</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-09-11T14:26:05Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127630#M26052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;options&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;validvarname&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=any;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;%let&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; list = G1, G2, G4, X01 -X03, H51-H55, T10,NA3ME1-NA3ME3, 34WE100-34WE103 1-10 009-005;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_null_&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; list $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;256&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; w $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;32&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; newlist $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;256&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;list&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; = transtrn(translate(symget(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;'LIST'&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;' '&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;','&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;'-'&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;' - '&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; i = &lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;1&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt; &lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;1&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w = scan(list,i,&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;' '&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; missing(w) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; leave;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; w ne &lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;'-'&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; w = nliteral(w);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newlist = catx(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;' '&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;,newlist,w);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;call&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; symputx(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;'LIST'&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;,newlist);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;put&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;_all_&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; names;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; &amp;amp;list;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;stop&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;;;;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;transpose&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=names &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=names2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; _all_;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;print&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 14:41:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127630#M26052</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-09-11T14:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127631#M26053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="177609" __jive_macro_name="message" class="jive_macro jive_macro_message" data-objecttype="2" href="https://communities.sas.com/"&gt;&lt;/A&gt;I didn't even notice the 1-10.&amp;nbsp; Hopefully, that was just a typo by the OP.&amp;nbsp; I was simply addressing the case like T01-T10.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Sep 2013 17:17:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127631#M26053</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-09-11T17:17:32Z</dc:date>
    </item>
    <item>
      <title>Re: Split h1-h10 into h1,h2,h3,h4,.... h10</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127632#M26054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I finally got it working for everything (even for my last problem). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My solution &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.testje;&lt;/P&gt;&lt;P&gt;input var $ 100.;&lt;/P&gt;&lt;P&gt;length new_var $ 20;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do _j=1 to countw(var,',');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _var=scan(var,_j,',');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if find(_var,'-') then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _v1=scan(_var,1,'- ');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _v2=scan(_var,2,'- ');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do _i=prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v1)&amp;nbsp; to prxchange('s/(\w*\D+)(\d+)/$2/',-1,_v2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _len_new=LENGTH(STRIP(_i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _len_old=LENGTH(SUBSTR(STRIP(_v1),(LENGTH(STRIP(_v1))-ANYALPHA(STRIP(REVERSE(_v1)))) +2));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _new_i=REPEAT('0',_len_old - _len_new - 1)||STRIP(_i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _turned=REVERSE(STRIP(_v1));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUBSTR(_turned,1,_len_old)=REVERSE(STRIP(_new_i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_var=REVERSE(STRIP(_turned));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else do;new_var=left(_var);output;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;G1, G2, G4, X1 -X3, H051-H055, T10,NA03ME1-NA03ME3, 34WE100-34WE103,001-008, 1-10, H0001- H0010&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Sep 2013 13:40:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Split-h1-h10-into-h1-h2-h3-h4-h10/m-p/127632#M26054</guid>
      <dc:creator>Richardvan_tHoff</dc:creator>
      <dc:date>2013-09-16T13:40:10Z</dc:date>
    </item>
  </channel>
</rss>

