<?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 one string into multiple row in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365795#M275122</link>
    <description>If this is external data to be read with INPUT the result couldn't be simpler&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;BR /&gt; &lt;BR /&gt;data abc;&lt;BR /&gt;Infile datalines dlm= ' |'  truncover ;&lt;BR /&gt;Length fruit1-fruit3 $20.;&lt;BR /&gt;input fruit- fruit3 @ ;&lt;BR /&gt;output ;&lt;BR /&gt;input fruit3  $;&lt;BR /&gt;If fruit3 ne ' ' then output ;&lt;BR /&gt;datalines;&lt;BR /&gt;orange  apple  mango|banana&lt;BR /&gt;Lemon  tangerine  pear|apple&lt;BR /&gt;;&lt;BR /&gt;</description>
    <pubDate>Fri, 09 Jun 2017 19:17:09 GMT</pubDate>
    <dc:creator>Peter_C</dc:creator>
    <dc:date>2017-06-09T19:17:09Z</dc:date>
    <item>
      <title>split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365241#M275119</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to seek for your help, I need to separate the column data into multiple Rows.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample Data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;Column 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Column 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Column 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;Apple &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Water &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;Lunch | Dinner&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Result Data:&lt;/P&gt;&lt;P&gt;&lt;U&gt;Column 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Column 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Column 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;Apple &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Water &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;Lunch&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Apple &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Water &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;Dinner&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 06:32:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365241#M275119</guid>
      <dc:creator>tunnii</dc:creator>
      <dc:date>2017-06-08T06:32:34Z</dc:date>
    </item>
    <item>
      <title>Re: split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365403#M275120</link>
      <description>&lt;P&gt;This may get you started&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   oldcolumn3= column3;
   do i= 1 to (countw(oldcolumn3));
      column3 = scan(oldcolumn3, i,' |');
      output;
   end;
   drop i oldcolumn3;
run;&lt;/PRE&gt;
&lt;P&gt;if you have words with embedded blanks you may need to change the ' |' to '|'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 14:46:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365403#M275120</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-06-08T14:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365408#M275121</link>
      <description>&lt;P&gt;if everything is in same pattern all the time then this should work&lt;/P&gt;
&lt;PRE&gt;data abc;
informat fruit fruit1 fruit2 $20.;
input fruit fruit1 fruit2  $;
datalines;
orange apple mango|banana
;

proc sql;
select fruit, fruit1, scan(fruit2,1,'|') from abc
union all
select fruit, fruit1, scan(fruit2,2,'|') from abc;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 15:01:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365408#M275121</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2017-06-08T15:01:14Z</dc:date>
    </item>
    <item>
      <title>Re: split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365795#M275122</link>
      <description>If this is external data to be read with INPUT the result couldn't be simpler&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;BR /&gt; &lt;BR /&gt;data abc;&lt;BR /&gt;Infile datalines dlm= ' |'  truncover ;&lt;BR /&gt;Length fruit1-fruit3 $20.;&lt;BR /&gt;input fruit- fruit3 @ ;&lt;BR /&gt;output ;&lt;BR /&gt;input fruit3  $;&lt;BR /&gt;If fruit3 ne ' ' then output ;&lt;BR /&gt;datalines;&lt;BR /&gt;orange  apple  mango|banana&lt;BR /&gt;Lemon  tangerine  pear|apple&lt;BR /&gt;;&lt;BR /&gt;</description>
      <pubDate>Fri, 09 Jun 2017 19:17:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/365795#M275122</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2017-06-09T19:17:09Z</dc:date>
    </item>
    <item>
      <title>Re: split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/366388#M275123</link>
      <description>This also work but uses more CPU time. Thank you for your help.</description>
      <pubDate>Tue, 13 Jun 2017 02:46:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/366388#M275123</guid>
      <dc:creator>tunnii</dc:creator>
      <dc:date>2017-06-13T02:46:04Z</dc:date>
    </item>
    <item>
      <title>Re: split one string into multiple row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/366393#M275124</link>
      <description>&lt;P&gt;Same concept I just did do while.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data output;
&amp;nbsp; &amp;nbsp; &amp;nbsp; set filename;
&amp;nbsp; &amp;nbsp; &amp;nbsp; oldcol3=col3;
&amp;nbsp; &amp;nbsp; &amp;nbsp; do while(scan(oldcol3,i,"|") ne "");
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; col3=scan(oldcol3,i,'|');
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i+1; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end; 

drop oldcol3 i;&lt;BR /&gt;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Jun 2017 03:16:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/split-one-string-into-multiple-row/m-p/366393#M275124</guid>
      <dc:creator>tunnii</dc:creator>
      <dc:date>2017-06-13T03:16:12Z</dc:date>
    </item>
  </channel>
</rss>

