<?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: Data Transpose in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448445#M112805</link>
    <description>&lt;P&gt;Hi OP&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/6650"&gt;@TejaSurapaneni&lt;/a&gt;&amp;nbsp; Should your interviewer have an ego complex personality&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
  infile datalines;
  input Product $ Bud_1988 Bud_1999;
  return;
  datalines;
X 0 0
Y 0 0
Z 0 0
;
run;
  
data table2;
  infile datalines;
  input Product $ Achvt_1988 Achvt_1999;
  return;
  datalines;
X 0 0
Z 0 0
;
run;


data want;
if _n_=1 then do;
if 0 then set table2;
 dcl hash h(dataset:'table2', multidata: 'y');
 h.definekey('product');
 h.definedata('Achvt_1988', 'Achvt_1999');
 h.definedone();
 end;
 set table1;
 var=scan(vname(Bud_1988),1,'_');
 output;
 do while(h.do_over(key:product) eq 0);
 var=scan(vname(Achvt_1988),1,'_');
 output;
end;
rename Bud_1988=_1988 Bud_1999=_1999;
drop Achvt_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;, show off with hash although not recommended for production environment:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 24 Mar 2018 18:39:00 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-03-24T18:39:00Z</dc:date>
    <item>
      <title>Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448421#M112789</link>
      <description>&lt;P&gt;Hi Team,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two tables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 1:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Product&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Bud_1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Bud_1999&lt;/P&gt;&lt;P&gt;X&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;Y&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;Z&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; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 2:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Product&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Achvt_1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Achvt_1999&lt;/P&gt;&lt;P&gt;X&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;0&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; 0&lt;/P&gt;&lt;P&gt;Z&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;0&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; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Required Output table:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Product&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Var&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1999&lt;/P&gt;&lt;P&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Achvt&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;0&lt;/P&gt;&lt;P&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&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;0&lt;/P&gt;&lt;P&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Achvt&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should be done in Single Data Step(without Proc Transpose).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can some one Please guide me&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 13:23:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448421#M112789</guid>
      <dc:creator>TejaSurapaneni</dc:creator>
      <dc:date>2018-03-24T13:23:17Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448423#M112790</link>
      <description>&lt;P&gt;First piece of guidance:&amp;nbsp; refuse to do it.&amp;nbsp; Why would someone who doesn't know how to accomplish the task give you the task and then tell you what tools you can use and what tools you can't use?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second piece of guidance:&amp;nbsp; the incoming tables are a horrible way to store data.&amp;nbsp; You can see the hoops they force you to jump through when you want to use it.&amp;nbsp; The table you ask for only partially fixes the problem.&amp;nbsp; You would be better off creating a different form of output and learning how to program with data in this format:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Product&amp;nbsp; Brand&amp;nbsp; Year&amp;nbsp; Quantity&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Activt 1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Activt 1999&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Activt 1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Activt 1999&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;X&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1999&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Y&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1999&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Z&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bud&amp;nbsp; &amp;nbsp; 1999&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course you don't always have control over all these factors, but it's a better direction than the one you are shooting for now.&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 13:52:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448423#M112790</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-03-24T13:52:11Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448429#M112795</link>
      <description>Hi:&lt;BR /&gt;  What you've been asked to do shows that they don't understand SAS. You can't have a variable name that starts with a number so "1988" and "1999" are not valid variable names, unless you move to using named literals, which is not what you show.&lt;BR /&gt; &lt;BR /&gt;Cynthia</description>
      <pubDate>Sat, 24 Mar 2018 14:20:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448429#M112795</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2018-03-24T14:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448433#M112798</link>
      <description>&lt;P&gt;Actually, sounds like an interesting interview question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you can add one record to Table2, the needed datastep is fairly simple:&lt;/P&gt;
&lt;PRE&gt;data table1;
  input Product $ Bud_1988 Bud_1999;
  cards;
X   11  12
Y   13  14
Z   15  16
;

data table2; 
  input Product $ Achvt_1988 Achvt_1999;
  cards;
X   21  22
Y   .   .
Z   23  24
;

data want (keep=Product var _1988 _1999);
  set table1;
  set table2;
  by Product;
  array vars(*) Bud_1988 Bud_1999 Achvt_1988 Achvt_1999;
  length var $10;
  do i=1 to dim(vars);
    call missing(var);
    if not missing(vars(i)) then do;
      var=scan(vname(vars(i)),1,'_');
      if scan(vname(vars(i)),2,'_') eq '1988' then _1988=vars(i);
      else _1999=vars(i);
    end;
    if not mod(i,2) and not missing(var) then output;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 16:08:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448433#M112798</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-03-24T16:08:15Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448437#M112800</link>
      <description>&lt;P&gt;Hi:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; You could also do it with a merge and array processing without altering the input files.&lt;/P&gt;
&lt;P&gt;Cynthia&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
  infile datalines;
  input Product $ Bud_1988 Bud_1999;
  return;
  datalines;
X 0 0
Y 0 0
Z 0 0
;
run;
  
data table2;
  infile datalines;
  input Product $ Achvt_1988 Achvt_1999;
  return;
  datalines;
X 0 0
Z 0 0
;
run;
    
data long(keep=product vartype yr1988 yr1999);
  length vartype $5;
  merge table1(in=t1)
        table2(in=t2); 
  by product;
  array years(*) Bud_1988 Bud_1999  Achvt_1988 Achvt_1999;
  do i=1 to dim(years);
    call missing(vartype);
    vartype=scan(vname(years(i)),1,'_');
    if scan(vname(years(i)),2,'_') eq '1988' then yr1988=years(i);
    else yr1999=years(i);
	if mod(i,2) = 0 and 
       (years(i) gt . or years(i-1) gt .) then output;
  end;
run;

proc print data=long;
  var product vartype yr1988 yr1999;
  title 'long';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Mar 2018 17:10:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448437#M112800</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2018-03-24T17:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448441#M112801</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
  infile datalines;
  input Product $ Bud_1988 Bud_1999;
  return;
  datalines;
X 0 0
Y 0 0
Z 0 0
;
run;
  
data table2;
  infile datalines;
  input Product $ Achvt_1988 Achvt_1999;
  return;
  datalines;
X 0 0
Z 0 0
;
run;
    

data want;
set table1 table2;
by product;
array t(*) _numeric_;
array b(*) Bud_1988 Bud_1999;
if first.product then var=scan(vname(t(1)),1,'_');
else var=scan(vname(t(3)),1,'_');
if sum(of b(*))=. then do _n_=1 to dim(b);
b(_n_)=coalesce(of _numeric_);
end;
rename Bud_1988=_1988 Bud_1999=_1999;
drop Achvt_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Mar 2018 18:05:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448441#M112801</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-24T18:05:38Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448442#M112802</link>
      <description>&lt;P&gt;+1 for recognizing this problem is really an interleave and not a merge.&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 18:14:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448442#M112802</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-24T18:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448445#M112805</link>
      <description>&lt;P&gt;Hi OP&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/6650"&gt;@TejaSurapaneni&lt;/a&gt;&amp;nbsp; Should your interviewer have an ego complex personality&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
  infile datalines;
  input Product $ Bud_1988 Bud_1999;
  return;
  datalines;
X 0 0
Y 0 0
Z 0 0
;
run;
  
data table2;
  infile datalines;
  input Product $ Achvt_1988 Achvt_1999;
  return;
  datalines;
X 0 0
Z 0 0
;
run;


data want;
if _n_=1 then do;
if 0 then set table2;
 dcl hash h(dataset:'table2', multidata: 'y');
 h.definekey('product');
 h.definedata('Achvt_1988', 'Achvt_1999');
 h.definedone();
 end;
 set table1;
 var=scan(vname(Bud_1988),1,'_');
 output;
 do while(h.do_over(key:product) eq 0);
 var=scan(vname(Achvt_1988),1,'_');
 output;
end;
rename Bud_1988=_1988 Bud_1999=_1999;
drop Achvt_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;, show off with hash although not recommended for production environment:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 18:39:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448445#M112805</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-24T18:39:00Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448448#M112808</link>
      <description>&lt;P&gt;Doesn't look like a transpose problem at all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You are just renaming the existing variables.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  length product $8 var $32 _1988 _1999 8 ;
  set table1 (in=in1 rename=(Bud_1988=_1988 Bud_1999=_1999))
      table2 (in=in2 rename=(Achvt_1988=_1988 Achvt_1999=_1999))
  ;
  by product ;
  if in1 then var='Bud';
  else var='Achvt';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    product     var     _1988    _1999

 1        X       Bud        0        0
 2        X       Achvt      0        0
 3        Y       Bud        0        0
 4        Z       Bud        0        0
 5        Z       Achvt      0        0&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Mar 2018 19:45:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448448#M112808</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2018-03-24T19:45:02Z</dc:date>
    </item>
    <item>
      <title>Re: Data Transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448468#M112814</link>
      <description>That is more elegant!&lt;BR /&gt;&lt;BR /&gt;Cynthia</description>
      <pubDate>Sat, 24 Mar 2018 23:53:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Transpose/m-p/448468#M112814</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2018-03-24T23:53:10Z</dc:date>
    </item>
  </channel>
</rss>

