<?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: Repeat column n times in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510902#M137494</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input id	name	$;
cards;
1	abcd
2	qw
3	x
;

data want;
set have;
length _temp_ $100;
array t(*) $1 n01-n06;
_temp_=repeat(compress(name),dim(t)-1);
call pokelong(_temp_,addrlong(t(1)),6);
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 06 Nov 2018 22:25:32 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-11-06T22:25:32Z</dc:date>
    <item>
      <title>Repeat column n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510897#M137493</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that looks like this :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;n01&lt;/TD&gt;&lt;TD&gt;n02&lt;/TD&gt;&lt;TD&gt;n03&lt;/TD&gt;&lt;TD&gt;n04&lt;/TD&gt;&lt;TD&gt;n05&lt;/TD&gt;&lt;TD&gt;n06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;abcd&lt;/TD&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;d&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;qw&lt;/TD&gt;&lt;TD&gt;q&lt;/TD&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to separate every character of the "name" variable into the n01 to n06 variables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is what I want it to look like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;n01&lt;/TD&gt;&lt;TD&gt;n02&lt;/TD&gt;&lt;TD&gt;n03&lt;/TD&gt;&lt;TD&gt;n04&lt;/TD&gt;&lt;TD&gt;n05&lt;/TD&gt;&lt;TD&gt;n06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;abcd&lt;/TD&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;d&lt;/TD&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;qw&lt;/TD&gt;&lt;TD&gt;q&lt;/TD&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;TD&gt;q&lt;/TD&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;TD&gt;q&lt;/TD&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;already&amp;nbsp;separated every character of the "name" variable into multiple variable&amp;nbsp;with this code (like in the first table)&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want; set have;
	length n01-n06 $1;
	array n {*} n01-n06;
	startpos = 1;
	do i = 1 to dim(n);
		length_var = vlength(n(i));
		n(i) = substr(name, startpos, length_var);
		startpos + length_var;
	end;
	drop i startpos  length_var;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know how to fill until n06 even if the number of character in the "name" variable may vary for each observation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your help. If you need more details, please ask.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Nov 2018 20:54:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510897#M137493</guid>
      <dc:creator>dera</dc:creator>
      <dc:date>2018-11-06T20:54:30Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat column n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510902#M137494</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input id	name	$;
cards;
1	abcd
2	qw
3	x
;

data want;
set have;
length _temp_ $100;
array t(*) $1 n01-n06;
_temp_=repeat(compress(name),dim(t)-1);
call pokelong(_temp_,addrlong(t(1)),6);
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Nov 2018 22:25:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510902#M137494</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-06T22:25:32Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat column n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510907#M137495</link>
      <description>&lt;P&gt;You probably want the LENGTH() function and not the VLENGTH() function since you appear to want to ignore the trailing spaces.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a good application for the MOD() function.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
 set have (keep=id name);
 array _n $1 n01-n06 ;
 do _n_=1 to dim(_n) ;
    _n(_n_)=char(name,1+mod(_n_-1,length(name)));
 end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    id    name    n01    n02    n03    n04    n05    n06

 1      1    abcd     a      b      c      d      a      b
 2      2    qw       q      w      q      w      q      w
 3      3    x        x      x      x      x      x      x
&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Nov 2018 21:23:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510907#M137495</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-11-06T21:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat column n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510909#M137496</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*linear*/
data want;
set have;
length _temp_ $100;
array t(*) $1 n01-n06;
_temp_=compress(repeat(name,dim(t)-1));
do _n_=1 to dim(t);
t(_n_)=char(_temp_,_n_);
end;&lt;BR /&gt;drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Nov 2018 21:27:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-column-n-times/m-p/510909#M137496</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-06T21:27:18Z</dc:date>
    </item>
  </channel>
</rss>

