<?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: transpose in particular format in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330822#M74290</link>
    <description>&lt;P&gt;It might be simplest to fill in the missing ID values and then transpose. &amp;nbsp;For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data halfway_there;&lt;/P&gt;
&lt;P&gt;set have (rename=(ID = old_id));&lt;/P&gt;
&lt;P&gt;if old_ID &amp;gt; ' ' then ID = old_ID;&lt;/P&gt;
&lt;P&gt;retain ID;&lt;/P&gt;
&lt;P&gt;drop old_id;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=halfway_there out=want (keep=id neighbor1-neighbor3) prefix=neighbor;&lt;/P&gt;
&lt;P&gt;var neighbor;&lt;/P&gt;
&lt;P&gt;by id notsorted;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
    <pubDate>Wed, 08 Feb 2017 13:14:13 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-02-08T13:14:13Z</dc:date>
    <item>
      <title>transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330722#M74257</link>
      <description>&lt;P&gt;I want to transpose my data in the following way&lt;/P&gt;&lt;P&gt;Input:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;ID&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;Neighbor&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;Distance&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X45&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X44&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X20&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X5&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X32&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X59&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X20&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X12&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X56&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X43&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X32&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X5&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X21&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X13&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X7&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X13&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X21&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;　&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X32&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;0.4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;ID&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;neighbor1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;neighbor2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;neighbor3&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X45&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X44&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X20&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X5&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X32&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X59&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X20&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X56&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X43&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X32&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X5&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X21&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X13&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X7&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X13&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="游ゴシック" size="3"&gt;X21&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Since transpose requires sorting, if I do that I lose the order of neighbors. Yes, If the whole set of ID alongwith neighbors then it does not affect the process. The order that I need to maintain in neighbor from top to bottom for each ID.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance !&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 07:24:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330722#M74257</guid>
      <dc:creator>deega</dc:creator>
      <dc:date>2017-02-08T07:24:07Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330731#M74262</link>
      <description>&lt;P&gt;Are there always 3 neighbours ?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you want to ignore distance and drop it from output ?&lt;/P&gt;
&lt;P&gt;Does ID repeat each row or exists on first row only ?&lt;/P&gt;
&lt;P&gt;Is your data given in a sas dataset or in external flat and what type ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code should be addapted to your answers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 07:59:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330731#M74262</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-02-08T07:59:43Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330732#M74263</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (keep=id neighbor1 neighbor2 neighbor3);
set have;
by id notsorted;
retain neighbor1 neighbor2 neighbor3 count;
array neighbors {3} neighbor1-neighbor3 $;
if first.id
then do;
  do count = 1 to dim(neighbors);
    neighbors{count} = '';
  end;
  count = 1;
end;
if count le 3
then do;
  neighbors{count} = neighbor;
  count + 1;
end;
if last.id then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Feb 2017 08:03:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330732#M74263</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-08T08:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330752#M74268</link>
      <description>&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;&lt;BR /&gt;1. Input data has 3 or more neighbors but in output I want only 3 neighbors&lt;BR /&gt;2. Yes, I dont want distance in output&lt;BR /&gt;3. ID exists only on first row, that is the main problem for me&lt;BR /&gt;4. data is in SAS dataset</description>
      <pubDate>Wed, 08 Feb 2017 08:52:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330752#M74268</guid>
      <dc:creator>deega</dc:creator>
      <dc:date>2017-02-08T08:52:21Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330761#M74270</link>
      <description>&lt;P&gt;Post test data in the form of a datastep, this helps us see your structure. &amp;nbsp;It should be very simple (not tested as I am not here to type test data in for you):&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  retain neighbour1 neightbour2 neighbour3;
  if id ne "" then call missing(neightbour1,neighbour2,neighbour3);
  if neighbour1="" then neighbour1=neighbour;
  else if neighbour2="" then neighbour2=neighbour;
  else if neighbour3="" then neighbout3=neighbour;
run;&lt;/PRE&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;</description>
      <pubDate>Wed, 08 Feb 2017 09:23:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330761#M74270</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-02-08T09:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330765#M74271</link>
      <description>&lt;P&gt;Supply your example data in a data step for easy creation. I will then adapt my code to fit your needs.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 09:53:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330765#M74271</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-08T09:53:19Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330822#M74290</link>
      <description>&lt;P&gt;It might be simplest to fill in the missing ID values and then transpose. &amp;nbsp;For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data halfway_there;&lt;/P&gt;
&lt;P&gt;set have (rename=(ID = old_id));&lt;/P&gt;
&lt;P&gt;if old_ID &amp;gt; ' ' then ID = old_ID;&lt;/P&gt;
&lt;P&gt;retain ID;&lt;/P&gt;
&lt;P&gt;drop old_id;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=halfway_there out=want (keep=id neighbor1-neighbor3) prefix=neighbor;&lt;/P&gt;
&lt;P&gt;var neighbor;&lt;/P&gt;
&lt;P&gt;by id notsorted;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 13:14:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330822#M74290</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-02-08T13:14:13Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330824#M74291</link>
      <description>&lt;P&gt;I have noticed that in lines where ID seems to be missing (I made copy/paste of your test data)&amp;nbsp;&lt;/P&gt;
&lt;P&gt;is not realy missing but have sum nonvisible/nonprintable value. Check the log after running next code.&lt;/P&gt;
&lt;P&gt;I used for test just fotrst 3 IDs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
Input ID $ neighbor $ Distance $;
datalines;
X1  X45 0.1
　   X44 0.2
　   X20 0.2
X5  X32 0.3
　   X59 0.4
　   X20 0.4
　   X12 0.4
X3  X56 0.1
　   X43 0.2
　   X32 0.2
;run;

data want;
     format ID neighbor1-neighbor3; /* assign order of variables in output */

&amp;nbsp; set have(rename=(id=ID1)) end=eof;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; length&amp;nbsp;ID neighbor1-neighbor3 miss_value  $3 ;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; retain phase 0 id count neighbor1-neighbor3;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array ng {3}&amp;nbsp;$ neighbor1-neighbor3;
        keep ID neighbor1-neighbor3;
        
        miss_value = 'E38080'x; /* value exists in ID when seen as missing ??? */
        
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if phase = 0 then do;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if missing(ID1) or ID1 = miss_value
              then delete; &amp;nbsp; /* skip unknown IDs if exist at start of dataset */
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else do; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;phase=1; link initiate;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;
        end;
 /*DBG*/ if _N_ &amp;lt; 10 then put _N_= ID1= $3.  ID1= $hex6.; 
        
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ID1= id or missing(ID1) or ID1 = miss_value then do;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if count &amp;lt; 3 then do;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;count+1;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ng(count) = neighbor;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if not missing(ID1) and ID1 ne miss_value then do;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;
            link initiate;&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;
       if eof then output;
RETURN;
INITIATE:
       ID = ID1;
       do count=1 to 3;
          call missing(ng(count));
       end;
       count=1; ng(1) = neighbor;
RETURN;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Feb 2017 13:15:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330824#M74291</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-02-08T13:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: transpose in particular format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330855#M74296</link>
      <description>&lt;P&gt;Try this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; have;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;infile&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;cards&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;dlm&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;" "&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; ID &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;$3.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Neighbor &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;$3.&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Distance @;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;cards&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;X1 X45 0.1&lt;/P&gt;
&lt;P&gt;X1 X44 0.2&lt;/P&gt;
&lt;P&gt;X1 X20 0.2&lt;/P&gt;
&lt;P&gt;X5 X32 0.3&lt;/P&gt;
&lt;P&gt;X5 X59 0.4&lt;/P&gt;
&lt;P&gt;X5 X20 0.4&lt;/P&gt;
&lt;P&gt;X5 X12 0.4&lt;/P&gt;
&lt;P&gt;X3 X56 0.1&lt;/P&gt;
&lt;P&gt;X3 X43 0.2&lt;/P&gt;
&lt;P&gt;X3 X32 0.2&lt;/P&gt;
&lt;P&gt;X2 X5 0.2&lt;/P&gt;
&lt;P&gt;X2 X21 0.3&lt;/P&gt;
&lt;P&gt;X2 X13 0.3&lt;/P&gt;
&lt;P&gt;X7 X4 0.2&lt;/P&gt;
&lt;P&gt;X7 X13 0.3&lt;/P&gt;
&lt;P&gt;X7 X21 0.3&lt;/P&gt;
&lt;P&gt;X7 X32 0.4&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;transpose&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;data&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=have(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=distance) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;out&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=want(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;= _NAME_ neighbor4) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;prefix&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=neighbor ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;var&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; neighbor;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; id &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;notsorted&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2017 14:48:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-in-particular-format/m-p/330855#M74296</guid>
      <dc:creator>Vish33</dc:creator>
      <dc:date>2017-02-08T14:48:03Z</dc:date>
    </item>
  </channel>
</rss>

