<?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: Append columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675867#M203686</link>
    <description>&lt;P&gt;While the (officially deprecated, but still functioning) DO OVER used by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;is smart in some cases, here it is not. Instead use the actual variable SCORE_GROUP to index the array:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Score1 Score2 Score3 Member $;
cards;
10 8 34 Y
12 5 12 N
15 18 10 Y
8 16 0 Y
15 12 5 Y
12 0 2 N
6 8 15 Y
10 13 21 Y
;run;

data want;
  set have;
  where member='Y';
  array scores(*) score1-score3;
  do score_group=1 to dim(scores);
    score=scores(score_group);
    output;
    end;
  keep score_group score;
run;

proc sort data=want;
  by score_group;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 11 Aug 2020 10:23:25 GMT</pubDate>
    <dc:creator>s_lassen</dc:creator>
    <dc:date>2020-08-11T10:23:25Z</dc:date>
    <item>
      <title>Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675791#M203644</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi everyone.&lt;/P&gt;
&lt;P&gt;I need help with programming.&lt;/P&gt;
&lt;P&gt;My data looks like Table1.&lt;/P&gt;
&lt;P&gt;I need to be extract the scores of members only (Member = Y) and produce a data which contains two columns&amp;nbsp; like in Table 2.&lt;/P&gt;
&lt;P&gt;Thank you for the assistance.&lt;/P&gt;
&lt;P&gt;Yoyong&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Table 1.&lt;/P&gt;
&lt;TABLE border="1" width="48.4608619173263%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;Score1&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;Score2&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;Score3&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Member&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;10&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;8&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;34&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;12&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;5&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;12&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;15&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;18&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;10&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;8&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;16&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;0&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;15&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;12&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;5&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;12&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;0&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;2&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;6&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;8&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;15&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.302550571679859%"&gt;10&lt;/TD&gt;
&lt;TD width="10.576077396657869%"&gt;13&lt;/TD&gt;
&lt;TD width="11.807387862796837%"&gt;21&lt;/TD&gt;
&lt;TD width="12.774846086191722%"&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Table 2.&lt;/P&gt;
&lt;TABLE border="1" width="32.10202286719437%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;Score_group&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;Score&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;1&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;2&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;2&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="13.676341248900613%"&gt;2&lt;/TD&gt;
&lt;TD width="18.42568161829375%"&gt;16&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;34&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 11 Aug 2020 00:06:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675791#M203644</guid>
      <dc:creator>yoyong555</dc:creator>
      <dc:date>2020-08-11T00:06:35Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675793#M203646</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data have;
input Score1	Score2	Score3	Member $;
cards;
10	8	34	Y
12	5	12	N
15	18	10	Y
8	16	0	Y
15	12	5	Y
12	0	2	N
6	8	15	Y
10	13	21	Y
;

data temp/view=temp;
 set have;
 where Member='Y';
 array t score:	;
 do over t;
   Score_group=_i_;
   score=t;
   output;
 end;
 keep  Score_group score;
run;

proc sort data=temp out= want;
by 	Score_group;
run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 11 Aug 2020 00:24:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675793#M203646</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-08-11T00:24:53Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675795#M203648</link>
      <description>Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;. &lt;BR /&gt;If the variables have different names (e.g. Zscore, Postzscore Prezscore), how does that affect the program?</description>
      <pubDate>Tue, 11 Aug 2020 00:43:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675795#M203648</guid>
      <dc:creator>yoyong555</dc:creator>
      <dc:date>2020-08-11T00:43:23Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675796#M203649</link>
      <description>&lt;P&gt;change the&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array t score:	;

to

array t zscore postzscore prezscore;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2020 00:47:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675796#M203649</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-08-11T00:47:45Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675867#M203686</link>
      <description>&lt;P&gt;While the (officially deprecated, but still functioning) DO OVER used by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;is smart in some cases, here it is not. Instead use the actual variable SCORE_GROUP to index the array:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Score1 Score2 Score3 Member $;
cards;
10 8 34 Y
12 5 12 N
15 18 10 Y
8 16 0 Y
15 12 5 Y
12 0 2 N
6 8 15 Y
10 13 21 Y
;run;

data want;
  set have;
  where member='Y';
  array scores(*) score1-score3;
  do score_group=1 to dim(scores);
    score=scores(score_group);
    output;
    end;
  keep score_group score;
run;

proc sort data=want;
  by score_group;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 11 Aug 2020 10:23:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675867#M203686</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2020-08-11T10:23:25Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675871#M203689</link>
      <description>&lt;P&gt;Using DO OVER and _I_ yields a different result than using a standard iterative DO loop:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
array t t1 - t3;
do over t;
  x = _i_;
end;
do y = 1 to dim(t);
  t{y} = 1;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;because the iterator is incremented past the TO value before the loop stops.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2020 10:48:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/675871#M203689</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-08-11T10:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676214#M203866</link>
      <description>&lt;P&gt;&lt;SPAN&gt;If the variables have different names (e.g. Zscore, Postzscore Prezscore) use the scan function to extract numbers for the score_group formula in table2&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1 (drop=member);
	input Score1 Score2 Score3 Member: $1.;
	if trim(member) in ("Y");
	id=_n_;
cards;
10     8      34     Y
12     5      12     N
15     18     10     Y
8      16     0      Y
15     12     5      Y
12     0      2      N
6      8      15     Y
10     13     21     Y
;
/* Transpose into one column */
proc transpose data=table1 out=long;
	by id;
run;
data table2 (drop=_name_ id);
  length score_group 4;
  set long;
    score_group=input(substr(_name_,6),1.);
    rename col1=score;
run;
proc sort; 
	by score_group;
run;    
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2020 16:05:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676214#M203866</guid>
      <dc:creator>ghosh</dc:creator>
      <dc:date>2020-08-12T16:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676225#M203874</link>
      <description>&lt;P&gt;How does this apply to the question at hand where the values are being written inside the loop?&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2020 16:27:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676225#M203874</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-08-12T16:27:48Z</dc:date>
    </item>
    <item>
      <title>Re: Append columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676232#M203879</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;How does this apply to the question at hand where the values are being written inside the loop?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Missed the OUTPUT. Must have been before the coffee &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2020 16:35:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Append-columns/m-p/676232#M203879</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-08-12T16:35:10Z</dc:date>
    </item>
  </channel>
</rss>

