<?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: Use a value from table A as a variable name in table B in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417932#M102660</link>
    <description>&lt;P&gt;Very interesting question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tbf(index=(b));
input B $ C5 C6;
cards;
B24 16 15
B52 84 64
B62 35 86
B12 12 215
B13 74 56
;
run;

data info(index=(b));
input P $ B $ C $;
cards;
P1 B24 C5
P2 B52 C5
P3 B62 C5
P1 B12 C6
P2 B13 C6
;
run;
proc sql noprint;
select p into : vars separated by ' '
from (select distinct p from info)
order by input(compress(p,,'kd'),best32.);
quit;
%put &amp;amp;vars ;
data want;
 merge tbf info;
 by b;
 array x{*} &amp;amp;vars ;
 do i=1 to dim(x);
   if upcase(vname(x{i}))=upcase(p) then do;x{i}=vvaluex(c);leave;end;
 end;
 drop i p c;
 run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 02 Dec 2017 11:04:02 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2017-12-02T11:04:02Z</dc:date>
    <item>
      <title>Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417730#M102615</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wonder if there is a way of using a certain value of a table as a variable name for another table. For example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two tables, table TBF (to be filled) and table INFO.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table TBF 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;&lt;EM&gt;B&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C5&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C6&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P1&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P2&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P3&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B24&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 16 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 15 €&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;B52&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;84 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 64 €&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;B62&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 35 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;86 €&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;B12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 12 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;215 €&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;B13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;74 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 56 €&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;&lt;BR /&gt;And I have to fill P1--P3 given table INFO:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;P&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;P1&lt;/TD&gt;&lt;TD&gt;B24&lt;/TD&gt;&lt;TD&gt;C5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;P2&lt;/TD&gt;&lt;TD&gt;B52&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;C&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;P3&lt;/TD&gt;&lt;TD&gt;B62&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;C&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;P1&lt;/TD&gt;&lt;TD&gt;B12&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;C&lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;P2&lt;/TD&gt;&lt;TD&gt;B13&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;C&lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So for example, when B = B24, P1 = C5, updating the table TBF as:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C5&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C6&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P1&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P2&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P3&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B24&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 16 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 15 €&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;16€&lt;/STRONG&gt;&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;B52&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;84 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 64 €&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;B62&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 35 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;86 €&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;B12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 12 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;215 €&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;B13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;74 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 56 €&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;So I need something like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;%LET LP = P1;
TBF.&amp;amp;LP = (select INFO.C
where TBF.B = INFO.B and INFO.P = &amp;amp;LP
from INFO, TBF)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But doing so, when B=B24, P1 will write "C5" instead of 16€. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can I get SAS to keep "C5" as a variable name instead of a value?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The table TBF finally should be:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;B&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C5&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;C6&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P1&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P2&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;P3&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B24&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 16 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 15 €&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;16€&lt;/STRONG&gt;&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;B52&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;84 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 64 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;.&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;84€&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B62&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 35 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;86 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;.&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;35€&lt;/STRONG&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 12 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;215 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;STRONG&gt;215€&lt;/STRONG&gt;&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;B13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &amp;nbsp;74 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 56 €&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;.&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;56€&lt;/STRONG&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;If anything is confusing I'll be glad to clarify it!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much,&lt;/P&gt;</description>
      <pubDate>Fri, 01 Dec 2017 12:30:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417730#M102615</guid>
      <dc:creator>DaniLagetsson</dc:creator>
      <dc:date>2017-12-01T12:30:04Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417733#M102616</link>
      <description>&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Post test data in the form of a datastep in a code window&lt;/STRONG&gt;&lt;/U&gt; (its the {i} above post are).&amp;nbsp; As such I am not typing that test data in nor guessing structure, so this is just a try:&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set info end=last;
  if _n_=1 then call execute('data want; set tbf;');
  call execute(cat('if b="',strip(b),'" then ',strip(p),'=',strip(c),';'));
  if last the call execute(';run;');
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 01 Dec 2017 12:22:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417733#M102616</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-12-01T12:22:09Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417736#M102617</link>
      <description>&lt;P&gt;First transpose to long, then merge with info, then transpose back, then merge with original:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tbf;
input B $ C5 C6;
n = _n_;
cards;
B24 16 15
B52 84 64
B62 35 86
B12 12 215
B13 74 56
;
run;

data info;
input P $ B $ C $;
cards;
P1 B24 C5
P2 B52 C5
P3 B62 C5
P1 B12 C6
P2 B13 C6
;
run;

proc sort data=tbf;
by B;
run;

proc transpose data=tbf out=int (rename=(_name_=C));
by B;
var c5 c6;
run;

proc sort data=info;
by B C;
run;

data int2;
merge
  int (in=in_int)
  info (in=in_info)
;
by B C;
put b $hex16. " " c $hex16." " in_info;
if in_int;
run;

proc transpose data=int2 (where=(P ne " ")) out=want1 (keep=b p:);
by b;
id p;
var col1;
run;

data want;
merge
  tbf
  want1
;
by b;
run;

proc sort data=want;
by n;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can omit variable n if the original order does not need to be preserved.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Dec 2017 12:34:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417736#M102617</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-12-01T12:34:13Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417833#M102632</link>
      <description>&lt;P&gt;Some more fun ways of solving:-&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; tbf;&lt;/P&gt;&lt;P&gt;input B $ C5 C6;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;B24 16 15&lt;/P&gt;&lt;P&gt;B52 84 64&lt;/P&gt;&lt;P&gt;B62 35 86&lt;/P&gt;&lt;P&gt;B12 12 215&lt;/P&gt;&lt;P&gt;B13 74 56&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; info;&lt;/P&gt;&lt;P&gt;input P $ B $ C $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;P1 B24 C5&lt;/P&gt;&lt;P&gt;P2 B52 C5&lt;/P&gt;&lt;P&gt;P3 B62 C5&lt;/P&gt;&lt;P&gt;P1 B12 C6&lt;/P&gt;&lt;P&gt;P2 B13 C6&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want;&lt;/P&gt;&lt;P&gt;keep B C5 C6 p:;&lt;/P&gt;&lt;P&gt;drop p;&lt;/P&gt;&lt;P&gt;&amp;nbsp;if _N_ = &lt;STRONG&gt;1&lt;/STRONG&gt; then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; if &lt;STRONG&gt;0&lt;/STRONG&gt; then set info;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; declare hash h(dataset:'info');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineKey('B');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineData('p','c');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineDone();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;set tbf;&lt;/P&gt;&lt;P&gt;array _p(*) P1-P3;&lt;/P&gt;&lt;P&gt;array _c(*) c5-c6;&lt;/P&gt;&lt;P&gt;rc=h.find();&lt;/P&gt;&lt;P&gt;if rc=&lt;STRONG&gt;0&lt;/STRONG&gt; then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&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; do i=&lt;STRONG&gt;1&lt;/STRONG&gt; to dim(_p);&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;&amp;nbsp; do j=&lt;STRONG&gt;1&lt;/STRONG&gt; to dim(_c);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if vname(_p(i))=p and vname(_c(j))=c 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; _p(i)=_c(j);&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; leave;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else continue;&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;&amp;nbsp; end;&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Dec 2017 19:57:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417833#M102632</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-01T19:57:45Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417859#M102639</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Check out this.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tbf;
infile datalines missover;
input B $ C5 $ C6 $;
datalines;
B24 16€ 15€
B52 84€ 64€
B62 35€ 86€
B12 12€ 215€
B13 74€ 56€
;
run;
proc sql;
create table mod as 
select b,C5 as val,"C5" as C
from tbf
union
select b,C6 as Val,"C6" as C
from tbf;
quit;

data info;
input P $ B $ C $;
cards;
P1 B24 C5
P2 B52 C5
P3 B62 C5
P1 B12 C6
P2 B13 C6
;
run;

PROC SQL;
create table upd as
select a.P,a.B,b.val
from info a
left join mod b on (a.c=b.c and a.b=b.b);
quit;
proc sort data=upd;
by b;
PROC TRANSPOSE DATA=upd out=mer(drop=_name_);
by b;
id p;
var val;
run;
proc sort data=mer;
by b;
proc sort data=tbf;
by b;
data want;
merge tbf mer;
by b;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 01 Dec 2017 21:07:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417859#M102639</guid>
      <dc:creator>SuryaKiran</dc:creator>
      <dc:date>2017-12-01T21:07:37Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417887#M102647</link>
      <description>&lt;P&gt;This is a good situation for taking the data in INFO to write out SAS statements for a later %include:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tbf;
  infile datalines missover;
  input B $ C5 $ C6 $;
datalines;
B24 16€ 15€
B52 84€ 64€
B62 35€ 86€
B12 12€ 215€
B13 74€ 56€
;

data info;
  input P $ B $ C $;
cards;
P1 B24 C5
P2 B52 C5
P3 B62 C5
P1 B12 C6
P2 B13 C6
;
run;

filename tmp temp;
data _null_;
  set info end=end_of_info;
  file tmp;
  put 'IF B=' B quote. ' then ' P '=' C ';'  @;
  if end_of_info=0 then put 'ELSE';
run;

options source2;
data want;
  set tbf;
  %include tmp;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 01 Dec 2017 23:21:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417887#M102647</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-01T23:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: Use a value from table A as a variable name in table B</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417932#M102660</link>
      <description>&lt;P&gt;Very interesting question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data tbf(index=(b));
input B $ C5 C6;
cards;
B24 16 15
B52 84 64
B62 35 86
B12 12 215
B13 74 56
;
run;

data info(index=(b));
input P $ B $ C $;
cards;
P1 B24 C5
P2 B52 C5
P3 B62 C5
P1 B12 C6
P2 B13 C6
;
run;
proc sql noprint;
select p into : vars separated by ' '
from (select distinct p from info)
order by input(compress(p,,'kd'),best32.);
quit;
%put &amp;amp;vars ;
data want;
 merge tbf info;
 by b;
 array x{*} &amp;amp;vars ;
 do i=1 to dim(x);
   if upcase(vname(x{i}))=upcase(p) then do;x{i}=vvaluex(c);leave;end;
 end;
 drop i p c;
 run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 02 Dec 2017 11:04:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Use-a-value-from-table-A-as-a-variable-name-in-table-B/m-p/417932#M102660</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-12-02T11:04:02Z</dc:date>
    </item>
  </channel>
</rss>

