<?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: how to shift the last row company name data into first row in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413976#M101387</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile cards dlm=',' dsd;
	format group_no z6. item_name $10. company $10.;
	input group_no item_name company;

	cards;
020101,banana, 
020101,apple, 
020101,grape, 
., ,Company A
020101,apple, 
020101,pineapple, 
., ,Company B
020102,pineapple, 
020102,apple, 
020102,grape, 
020102,papaya, 
., ,Company C
;
run;
data key;
 set have;
 if not missing(company);
 keep company;
run;
data want;
 set have;
 call missing(company);
 if missing(lag(group_no)) then set key;
 if not missing(group_no);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 16 Nov 2017 12:53:24 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2017-11-16T12:53:24Z</dc:date>
    <item>
      <title>how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413889#M101356</link>
      <description>&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I got a dataset as per below:-&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;group_no&lt;/TD&gt;&lt;TD&gt;item_name&lt;/TD&gt;&lt;TD&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;banana&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;grape&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Company A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;pineapple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Company B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;pineapple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;grape&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;papaya&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Company C&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How to transform it into below dataset? Just want the company to be first row instead of last row?&amp;nbsp;&lt;/P&gt;&lt;P&gt;The no of items can be&amp;nbsp;any number.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;group_no&lt;/TD&gt;&lt;TD&gt;item_name&lt;/TD&gt;&lt;TD&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;banana&lt;/TD&gt;&lt;TD&gt;Company A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;grape&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;Company B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020101&lt;/TD&gt;&lt;TD&gt;pineapple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;pineapple&lt;/TD&gt;&lt;TD&gt;Company C&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;apple&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;grape&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;020102&lt;/TD&gt;&lt;TD&gt;papaya&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;Thank you in advance&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2017 04:52:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413889#M101356</guid>
      <dc:creator>sagulolo</dc:creator>
      <dc:date>2017-11-16T04:52:01Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413933#M101378</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile cards dlm=',' dsd;
	format group_no z6. item_name $10. company $10.;
	input group_no item_name company;

	cards;
020101,banana, 
020101,apple, 
020101,grape, 
., ,Company A
020101,apple, 
020101,pineapple, 
., ,Company B
020102,pineapple, 
020102,apple, 
020102,grape, 
020102,papaya, 
., ,Company C
;
run;


data have2(keep=group_no item_name compid) companies(keep=company compid);
	set have;

	retain compid;

	no1=lag(group_no);

	if _N_=1 or no1=. then do;
		compid+1;
	end;

	if group_no=. then output companies;
	else output have2;
run;

data want;
	merge have2 companies;
	by compid;

	comp1=lag(company);

	if company=comp1 then company=" ";

	drop compid comp1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 16 Nov 2017 09:27:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413933#M101378</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2017-11-16T09:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413948#M101380</link>
      <description>Hi gamotte,&lt;BR /&gt;&lt;BR /&gt;Thank you so much, it help me a lot and it totally out of my mind, it can be done by this way.&lt;BR /&gt;&lt;BR /&gt;Best regards and thank for your time&lt;BR /&gt;</description>
      <pubDate>Thu, 16 Nov 2017 10:09:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413948#M101380</guid>
      <dc:creator>sagulolo</dc:creator>
      <dc:date>2017-11-16T10:09:13Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413976#M101387</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile cards dlm=',' dsd;
	format group_no z6. item_name $10. company $10.;
	input group_no item_name company;

	cards;
020101,banana, 
020101,apple, 
020101,grape, 
., ,Company A
020101,apple, 
020101,pineapple, 
., ,Company B
020102,pineapple, 
020102,apple, 
020102,grape, 
020102,papaya, 
., ,Company C
;
run;
data key;
 set have;
 if not missing(company);
 keep company;
run;
data want;
 set have;
 call missing(company);
 if missing(lag(group_no)) then set key;
 if not missing(group_no);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 16 Nov 2017 12:53:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/413976#M101387</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-11-16T12:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414301#M101498</link>
      <description>Hi Ksharp,&lt;BR /&gt;&lt;BR /&gt;Thank for your code.&lt;BR /&gt;&lt;BR /&gt;appreciated if you could explain more on part below:-&lt;BR /&gt;&lt;BR /&gt;"if missing(lag(group_no)) then set key;"&lt;BR /&gt;&lt;BR /&gt;thanks in advance&lt;BR /&gt;</description>
      <pubDate>Fri, 17 Nov 2017 09:46:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414301#M101498</guid>
      <dc:creator>sagulolo</dc:creator>
      <dc:date>2017-11-17T09:46:39Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414347#M101513</link>
      <description>&lt;P&gt;That means if lag value of&amp;nbsp;&lt;SPAN&gt;group_no is missing ,then copy an obs/record from table KEY.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Note : it copy obs from KEY is one by one until the end of KEY .&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2017 12:39:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414347#M101513</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-11-17T12:39:23Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414421#M101540</link>
      <description>&lt;P&gt;There are reasonable single data step solutions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile cards dlm=',' dsd;
	format group_no z6. item_name $10. company $10.;
	input group_no item_name company;

	cards;
020101,banana, 
020101,apple, 
020101,grape, 
., ,Company A
020101,apple, 
020101,pineapple, 
., ,Company B
020102,pineapple, 
020102,apple, 
020102,grape, 
020102,papaya, 
., ,Company C
;
run;

data want (drop=_:);
  set have;

  if _n_=1 or group_no=. then 
    set have (keep=company rename=(company=_ref_value) where=(_ref_value^=''));

  if group_no =. then delete;
  else if _ref_value^=lag(_ref_value) then company=_ref_value;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 Nov 2017 15:33:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/414421#M101540</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-11-17T15:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to shift the last row company name data into first row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/415174#M101798</link>
      <description>&lt;P&gt;Hi mkeintz,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank for your code and help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Nov 2017 13:40:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-shift-the-last-row-company-name-data-into-first-row/m-p/415174#M101798</guid>
      <dc:creator>sagulolo</dc:creator>
      <dc:date>2017-11-21T13:40:02Z</dc:date>
    </item>
  </channel>
</rss>

