<?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 column with chronological order in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817459#M322670</link>
    <description>&lt;P&gt;So if you want to preserve the existing order and use PROC TRANSPOSE you need to create and extra variable to indicate when to start a new observation for the same values of the TEAM* variables.&lt;/P&gt;
&lt;P&gt;Looks like you want to start a new line/group when the EVENT_NM stops increasing (like with the CINDY/BOB records).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input TEAM_1 $ TEAM_2 $ EVENT_NM $ EVENT_DT :mmddyy. ;
  format event_dt yymmdd10.;
cards;
ALICE  JIMMY  A  1-1-2022
CINDY  BOB  A  1-2-2022
CINDY  BOB  B  1-3-2022
CINDY  BOB  C  1-4-2022
CINDY  BOB  B  1-5-2022
CINDY  BOB  B  1-6-2022
CINDY  BOB  C  1-7-2022
ELLA  JACK  B  1-8-2022
ELLA  JACK  D  1-9-2022
AMBER  DANIEL  E  1-10-2022
KITTY  ARRON  F  1-11-2022
;

data groups;
  set have;
  by team_1 team_2 notsorted ;
  group + (event_nm &amp;lt;= lag(event_nm) );
  if first.team_2 then group=1;
run;
proc transpose data=groups out=wide(drop=_name_);
  by team_1 team_2 group notsorted;
  id event_nm;
  var event_dt;
run;
proc print data=wide;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1654869331032.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72130i15A0779D827311F9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Tom_0-1654869331032.png" alt="Tom_0-1654869331032.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Jun 2022 13:56:10 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-06-10T13:56:10Z</dc:date>
    <item>
      <title>Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817427#M322665</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a table&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="304"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;TEAM _1&lt;/TD&gt;
&lt;TD width="64"&gt;TEAM _2&lt;/TD&gt;
&lt;TD width="106"&gt;EVENT_NM&lt;/TD&gt;
&lt;TD width="70"&gt;EVENT_DT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ALICE&lt;/TD&gt;
&lt;TD&gt;JIMMY&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-1-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-2-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-3-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-4-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-5-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-6-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-7-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-8-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;1-9-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AMBER&lt;/TD&gt;
&lt;TD&gt;DANIEL&lt;/TD&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;1-10-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;KITTY&lt;/TD&gt;
&lt;TD&gt;ARRON&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;1-11-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And I want to have its transpose columns with the&amp;nbsp;chronological order by each EVENT_NM,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="566"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;TEAM _1&lt;/TD&gt;
&lt;TD width="64"&gt;TEAM _2&lt;/TD&gt;
&lt;TD width="106"&gt;A&lt;/TD&gt;
&lt;TD width="70"&gt;B&lt;/TD&gt;
&lt;TD width="64"&gt;C&lt;/TD&gt;
&lt;TD width="64"&gt;D&lt;/TD&gt;
&lt;TD width="67"&gt;E&lt;/TD&gt;
&lt;TD width="67"&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ALICE&lt;/TD&gt;
&lt;TD&gt;JIMMY&lt;/TD&gt;
&lt;TD&gt;1-1-2022&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;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;1-2-2022&lt;/TD&gt;
&lt;TD&gt;1-3-2022&lt;/TD&gt;
&lt;TD&gt;1-4-2022&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;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-5-2022&lt;/TD&gt;
&lt;TD&gt;1-7-2022&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;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-6-2022&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;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-8-2022&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-9-2022&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;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&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;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AMBER&lt;/TD&gt;
&lt;TD&gt;DANIEL&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;1-10-2022&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;KITTY&lt;/TD&gt;
&lt;TD&gt;ARRON&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;TD&gt;1-11-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How do I do that in data step?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kindly help.&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jun 2022 10:06:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817427#M322665</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-10T10:06:26Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817428#M322666</link>
      <description>&lt;P&gt;Sorry there is a typo in my post,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the original table is&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="273"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;TEAM A&lt;/TD&gt;
&lt;TD width="64"&gt;TEAM B&lt;/TD&gt;
&lt;TD width="75"&gt;EVENT_NM&lt;/TD&gt;
&lt;TD width="70"&gt;EVENT_DT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ALICE&lt;/TD&gt;
&lt;TD&gt;JIMMY&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-1-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-2-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-3-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-4-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-5-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-6-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-7-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-8-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;1-9-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AMBER&lt;/TD&gt;
&lt;TD&gt;DANIEL&lt;/TD&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;1-10-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;KITTY&lt;/TD&gt;
&lt;TD&gt;ARRON&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;1-11-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;after transpose should look like below&lt;/P&gt;
&lt;TABLE width="494"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="67"&gt;TEAM A&lt;/TD&gt;
&lt;TD width="53"&gt;TEAM B&lt;/TD&gt;
&lt;TD width="60"&gt;A&lt;/TD&gt;
&lt;TD width="60"&gt;B&lt;/TD&gt;
&lt;TD width="60"&gt;C&lt;/TD&gt;
&lt;TD width="60"&gt;D&lt;/TD&gt;
&lt;TD width="67"&gt;E&lt;/TD&gt;
&lt;TD width="67"&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ALICE&lt;/TD&gt;
&lt;TD&gt;JIMMY&lt;/TD&gt;
&lt;TD&gt;1-1-2022&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;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;1-2-2022&lt;/TD&gt;
&lt;TD&gt;1-3-2022&lt;/TD&gt;
&lt;TD&gt;1-4-2022&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;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-5-2022&lt;/TD&gt;
&lt;TD&gt;1-7-2022&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;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-6-2022&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;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-8-2022&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1-9-2022&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;AMBER&lt;/TD&gt;
&lt;TD&gt;DANIEL&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;1-10-2022&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;KITTY&lt;/TD&gt;
&lt;TD&gt;ARRON&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;TD&gt;1-11-2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jun 2022 10:10:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817428#M322666</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-10T10:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817430#M322667</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input TEAM_A $ TEAM_B $ EVENT_NM $ EVENT_DT ddmmyy10.;
format EVENT_DT ddmmyy10.;
cards;
ALICE	JIMMY	A	1-1-2022
CINDY	BOB	A	1-2-2022
CINDY	BOB	B	1-3-2022
CINDY	BOB	C	1-4-2022
CINDY	BOB	B	1-5-2022
CINDY	BOB	B	1-6-2022
CINDY	BOB	C	1-7-2022
ELLA	JACK	B	1-8-2022
ELLA	JACK	D	1-9-2022
AMBER	DANIEL	E	1-10-2022
KITTY	ARRON	F	1-11-2022
;
run;

proc sql;
  create table temp as
  select distinct
  EVENT_NM
  from have
  order by EVENT_NM
  ;
quit;

proc sort data = have;
  by TEAM_A TEAM_B EVENT_NM EVENT_DT;
run;
data have2;
  set have;
  by TEAM_A TEAM_B EVENT_NM EVENT_DT; 
  if first.EVENT_NM then x = 1;
                    else x + 1;
run;
proc sort data = have2;
  by TEAM_A TEAM_B x EVENT_NM EVENT_DT;
run;

data have_view / view = have_view;
  if 0 then set have2;
  set temp have2;
run;

proc transpose data = have_view out = want(drop=_: x);
  by TEAM_A TEAM_B x;
  id EVENT_NM;
  var EVENT_DT;
run;

data want;
  set want;
    ord = min(of _numeric_);
run;
proc sort data = want out = want(drop=ord);
  by ord TEAM_A TEAM_B;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jun 2022 10:39:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817430#M322667</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2022-06-10T10:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817459#M322670</link>
      <description>&lt;P&gt;So if you want to preserve the existing order and use PROC TRANSPOSE you need to create and extra variable to indicate when to start a new observation for the same values of the TEAM* variables.&lt;/P&gt;
&lt;P&gt;Looks like you want to start a new line/group when the EVENT_NM stops increasing (like with the CINDY/BOB records).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input TEAM_1 $ TEAM_2 $ EVENT_NM $ EVENT_DT :mmddyy. ;
  format event_dt yymmdd10.;
cards;
ALICE  JIMMY  A  1-1-2022
CINDY  BOB  A  1-2-2022
CINDY  BOB  B  1-3-2022
CINDY  BOB  C  1-4-2022
CINDY  BOB  B  1-5-2022
CINDY  BOB  B  1-6-2022
CINDY  BOB  C  1-7-2022
ELLA  JACK  B  1-8-2022
ELLA  JACK  D  1-9-2022
AMBER  DANIEL  E  1-10-2022
KITTY  ARRON  F  1-11-2022
;

data groups;
  set have;
  by team_1 team_2 notsorted ;
  group + (event_nm &amp;lt;= lag(event_nm) );
  if first.team_2 then group=1;
run;
proc transpose data=groups out=wide(drop=_name_);
  by team_1 team_2 group notsorted;
  id event_nm;
  var event_dt;
run;
proc print data=wide;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1654869331032.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72130i15A0779D827311F9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Tom_0-1654869331032.png" alt="Tom_0-1654869331032.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jun 2022 13:56:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817459#M322670</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-06-10T13:56:10Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817628#M322738</link>
      <description>Thank you!</description>
      <pubDate>Sun, 12 Jun 2022 03:31:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817628#M322738</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-12T03:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817667#M322749</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If there is an EVENT_ID that needs to display next to the EVENT_DT,&lt;/P&gt;
&lt;P&gt;How do I modified the code?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The input table is now:&lt;/P&gt;
&lt;TABLE width="382"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;TEAM A&lt;/TD&gt;
&lt;TD width="64"&gt;TEAM B&lt;/TD&gt;
&lt;TD width="75"&gt;EVENT_NM&lt;/TD&gt;
&lt;TD width="70"&gt;EVENT_DT&lt;/TD&gt;
&lt;TD width="109"&gt;EVENT_ID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ALICE&lt;/TD&gt;
&lt;TD&gt;JIMMY&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-1-2022&lt;/TD&gt;
&lt;TD&gt;A1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1-2-2022&lt;/TD&gt;
&lt;TD&gt;A2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-3-2022&lt;/TD&gt;
&lt;TD&gt;B1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-4-2022&lt;/TD&gt;
&lt;TD&gt;C1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-5-2022&lt;/TD&gt;
&lt;TD&gt;B2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-6-2022&lt;/TD&gt;
&lt;TD&gt;B3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;CINDY&lt;/TD&gt;
&lt;TD&gt;BOB&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;1-7-2022&lt;/TD&gt;
&lt;TD&gt;C2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1-8-2022&lt;/TD&gt;
&lt;TD&gt;B4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ELLA&lt;/TD&gt;
&lt;TD&gt;JACK&lt;/TD&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;1-9-2022&lt;/TD&gt;
&lt;TD&gt;D1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AMBER&lt;/TD&gt;
&lt;TD&gt;DANIEL&lt;/TD&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;1-10-2022&lt;/TD&gt;
&lt;TD&gt;E1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;KITTY&lt;/TD&gt;
&lt;TD&gt;ARRON&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;1-11-2022&lt;/TD&gt;
&lt;TD&gt;F1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The expected out put should look like this:&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 672pt;" border="0" width="896" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD width="64" height="19" class="xl65" style="height: 14.4pt; width: 48pt;"&gt;TEAM_1&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;TEAM_2&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;A_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;A_ID&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;B_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;B_ID&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;C_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;C_ID&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;D_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;D_ID&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;E_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;E_ID&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;F_DT&lt;/TD&gt;
&lt;TD width="64" class="xl65" style="border-left: none; width: 48pt;"&gt;F_ID&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;ALICE&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;JIMMY&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;01-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;A1&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;CINDY&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;BOB&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;02-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;A2&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;03-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;B1&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;04-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;C1&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;CINDY&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;BOB&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;05-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;B2&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;CINDY&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;BOB&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;06-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;B3&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;07-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;C2&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;ELLA&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;JACK&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;08-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;B4&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;09-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;D1&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;AMBER&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;DANIEL&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;10-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;E1&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.4pt;"&gt;
&lt;TD height="19" class="xl66" style="height: 14.4pt; border-top: none;"&gt;KITTY&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;ARRON&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;.&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl67" style="border-top: none; border-left: none;"&gt;11-01-22&lt;/TD&gt;
&lt;TD class="xl66" style="border-top: none; border-left: none;"&gt;F1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I used the full outer join and it does not correct T.T&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input TEAM_1 $ TEAM_2 $ EVENT_NM $ EVENT_DT :mmddyy. EVENT_ID $ ;
  format event_dt yymmdd10.;
cards;
ALICE  JIMMY  A  1-1-2022 A1
CINDY  BOB  A  1-2-2022 A2
CINDY  BOB  B  1-3-2022 B1
CINDY  BOB  C  1-4-2022 C1
CINDY  BOB  B  1-5-2022 B2
CINDY  BOB  B  1-6-2022 B3
CINDY  BOB  C  1-7-2022 C2
ELLA  JACK  B  1-8-2022 B4
ELLA  JACK  D  1-9-2022 D1 
AMBER  DANIEL  E  1-10-2022 E1
KITTY  ARRON  F  1-11-2022 F1
;

data groups1;
  set have;
  by team_1 team_2 notsorted ;
  group + (EVENT_NM &amp;lt;= lag(EVENT_NM) );
  if first.team_2 then group=1;
run;
proc transpose data=groups1 out=wide1(DROP=_NAME_);
  by team_1 team_2  group notsorted;
  id  EVENT_NM ;
  var EVENT_ID;
run;
proc print data=wide1;
run;

data groups2;
  set have;
  by team_1 team_2 notsorted ;
  group + (EVENT_NM &amp;lt;= lag(EVENT_NM) );
  if first.team_2 then group=1;
run;
proc transpose data=groups2 out=wide2(DROP=_NAME_);
  by team_1 team_2  group notsorted;
  id  EVENT_NM;
  var EVENT_dt;
run;
proc print data=wide2;
run;

PROC SQL;
CREATE TABLE EVENT_DT AS
SELECT 
TEAM_1,
TEAM_2,
A AS A_DT,
B AS B_DT,
C AS C_DT,
D AS D_DT,
E AS E_DT,
F AS F_DT
FROM WIDE2;
QUIT;

PROC SQL;
CREATE TABLE EVENT_ID AS
SELECT 
TEAM_1,
TEAM_2,
A AS A_ID,
B AS B_ID,
C AS C_ID,
D AS D_ID,
E AS E_ID,
F AS F_ID
FROM WIDE1;
QUIT;
 
PROC SQL;
CREATE TABLE ID_DT AS
SELECT 
A.TEAM_1,
A.TEAM_2,

B.A_DT,
A.A_ID,

B.B_DT,
A.B_ID,

B.C_DT,
A.C_ID,

B.D_DT,
A.D_ID,

B.E_DT,
A.E_ID,

B.F_DT,
A.F_ID
 

FROM EVENT_ID A FULL OUTER JOIN EVENT_DT B
ON A.TEAM_1=B.TEAM_1 AND A.TEAM_2 = B.TEAM_2;
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Appreciate your help.&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jun 2022 13:53:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817667#M322749</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-12T13:53:38Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817669#M322750</link>
      <description>&lt;P&gt;I added "group" and solve the issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input TEAM_1 $ TEAM_2 $ EVENT_NM $ EVENT_DT :mmddyy. EVENT_ID $ ;
  format event_dt yymmdd10.;
cards;
ALICE  JIMMY  A  1-1-2022 A1
CINDY  BOB  A  1-2-2022 A2
CINDY  BOB  B  1-3-2022 B1
CINDY  BOB  C  1-4-2022 C1
CINDY  BOB  B  1-5-2022 B2
CINDY  BOB  B  1-6-2022 B3
CINDY  BOB  C  1-7-2022 C2
ELLA  JACK  B  1-8-2022 B4
ELLA  JACK  D  1-9-2022 D1 
AMBER  DANIEL  E  1-10-2022 E1
KITTY  ARRON  F  1-11-2022 F1
;

data groups1;
  set have;
  by team_1 team_2 notsorted ;
  group + (EVENT_NM &amp;lt;= lag(EVENT_NM) );
  if first.team_2 then group=1;
run;
proc transpose data=groups1 out=wide1(DROP=_NAME_);
  by team_1 team_2 group group notsorted;
  id  EVENT_NM ;
  var EVENT_ID;
run;
proc print data=wide1;
run;

data groups2;
  set have;
  by team_1 team_2 notsorted ;
  group + (EVENT_NM &amp;lt;= lag(EVENT_NM) );
  if first.team_2 then group=1;
run;
proc transpose data=groups2 out=wide2(DROP=_NAME_);
  by team_1 team_2 group group notsorted;
  id  EVENT_NM;
  var EVENT_dt;
run;
proc print data=wide2;
run;

PROC SQL;
CREATE TABLE EVENT_DT AS
SELECT 
TEAM_1,
TEAM_2,
GROUP,
A AS A_DT,
B AS B_DT,
C AS C_DT,
D AS D_DT,
E AS E_DT,
F AS F_DT
FROM WIDE2;
QUIT;

PROC SQL;
CREATE TABLE EVENT_ID AS
SELECT 
TEAM_1,
TEAM_2,
GROUP,
A AS A_ID,
B AS B_ID,
C AS C_ID,
D AS D_ID,
E AS E_ID,
F AS F_ID
FROM WIDE1;
QUIT;
 
PROC SQL;
CREATE TABLE ID_DT AS
SELECT 
A.TEAM_1,
A.TEAM_2,

B.A_DT,
A.A_ID,

B.B_DT,
A.B_ID,

B.C_DT,
A.C_ID,

B.D_DT,
A.D_ID,

B.E_DT,
A.E_ID,

B.F_DT,
A.F_ID
 

FROM EVENT_ID A FULL OUTER JOIN EVENT_DT B
ON A.TEAM_1=B.TEAM_1 AND A.TEAM_2 = B.TEAM_2 and A.GROUP=B.GROUP;
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="sarahzhou_0-1655042381875.png" style="width: 632px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72158i8EC88F4EBA211911/image-dimensions/632x185?v=v2" width="632" height="185" role="button" title="sarahzhou_0-1655042381875.png" alt="sarahzhou_0-1655042381875.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Is there a better way ? Mine is too lengthy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Appcretiate your help.&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jun 2022 14:02:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817669#M322750</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-12T14:02:20Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817686#M322755</link>
      <description>&lt;P&gt;You could just transpose the two variables into separate datasets and then merge them back together.&lt;/P&gt;
&lt;P&gt;If you need to keep that original order then make a new variable that keeps that overall order.&lt;/P&gt;
&lt;P&gt;Let's call it ROW.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data groups1;
  set have;
  by team_1 team_2 notsorted ;
  row + (EVENT_NM &amp;lt;= lag(EVENT_NM) ) or first.team_2;
  group + (EVENT_NM &amp;lt;= lag(EVENT_NM) );
  if first.team_2 then group=1;
run;
proc transpose data=groups1 out=wide1(DROP=_NAME_) suffix=_nm;
  by row team_1 team_2 group;
  id  EVENT_NM ;
  var EVENT_ID;
run;
proc transpose data=groups1 out=wide2(DROP=_NAME_) suffix=_dt;
  by row team_1 team_2 group;
  id  EVENT_NM ;
  var EVENT_dt;
run;
data wide;
 merge wide1 wide2 ;
  by row team_1 team_2 group;
run;
proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tom_0-1655061815427.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72167iC2F0CB4098141B9E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Tom_0-1655061815427.png" alt="Tom_0-1655061815427.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jun 2022 19:23:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817686#M322755</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-06-12T19:23:47Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose column with chronological order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817722#M322761</link>
      <description>&lt;P&gt;Hi,&amp;nbsp; How can I get the group number is the EVENT_NM is not in albert order, eg: "fancy","ordinary","casual"&amp;nbsp; etc... Thanks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jun 2022 08:02:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-column-with-chronological-order/m-p/817722#M322761</guid>
      <dc:creator>sarahzhou</dc:creator>
      <dc:date>2022-06-13T08:02:50Z</dc:date>
    </item>
  </channel>
</rss>

