<?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: first or last in a row in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699519#M213994</link>
    <description>&lt;P&gt;Thank you all of the help!&lt;/P&gt;</description>
    <pubDate>Tue, 17 Nov 2020 14:40:59 GMT</pubDate>
    <dc:creator>mt88</dc:creator>
    <dc:date>2020-11-17T14:40:59Z</dc:date>
    <item>
      <title>first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699478#M213976</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm looking for a function that would return the first value in a row of variables and one that will return that last value in the row. For example, if I have a data set like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;TD&gt;var4&lt;/TD&gt;&lt;TD&gt;var5&lt;/TD&gt;&lt;TD&gt;var6&lt;/TD&gt;&lt;TD&gt;var7&lt;/TD&gt;&lt;TD&gt;var8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to create two new variables (call them first and last) that have the first and last values in each row, so I'd end up with this (relevant values colored for clarity):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;TD&gt;var4&lt;/TD&gt;&lt;TD&gt;var5&lt;/TD&gt;&lt;TD&gt;var6&lt;/TD&gt;&lt;TD&gt;var7&lt;/TD&gt;&lt;TD&gt;var8&lt;/TD&gt;&lt;TD&gt;first&lt;/TD&gt;&lt;TD&gt;last&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;9&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;9&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;20&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;20&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;Any help would be appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 13:24:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699478#M213976</guid>
      <dc:creator>mt88</dc:creator>
      <dc:date>2020-11-17T13:24:33Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699484#M213978</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input var1-var8;
datalines;
2 1 7 4 3 5 6 9
4 6 10 15 23 2 10 0
15 22 6 4 2 98 1 20
;

data want;
   set have;
   array a {*} var1-var8;
   first = a[lbound(a)];
   last  = a[hbound(a)];
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;var1 ............... var8  first last 
2  1  7  4  3  5  6  9     2     9 
4  6  10 15 23 2  10 0     4     0 
15 22 6  4  2  98 1  20    15    20 &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 13:39:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699484#M213978</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-11-17T13:39:21Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699486#M213980</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; 
data have;
 input var1	var2	var3	var4	var5	var6	var7	var8;
 cards;
2	1	7	4	3	5	6	9
4	6	10	15	23	2	10	0
15	22	6	4	2	98	1	20
;

data want;
 set have;
 array v var1-var8;
 first=v(1);
 last=v(dim(v));
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 17 Nov 2020 13:39:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699486#M213980</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-11-17T13:39:14Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699495#M213983</link>
      <description>&lt;P&gt;Thank you, that worked. As a follow up, I'm wondering how to do something similar when there is missing data present. For example, starting with a similar data set, except I've added in some missings:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;TD&gt;var4&lt;/TD&gt;&lt;TD&gt;var5&lt;/TD&gt;&lt;TD&gt;var6&lt;/TD&gt;&lt;TD&gt;var7&lt;/TD&gt;&lt;TD&gt;var8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to end up with a similar results, except where the missing values are not included (relevant values colored for clarity):&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;TD&gt;var4&lt;/TD&gt;&lt;TD&gt;var5&lt;/TD&gt;&lt;TD&gt;var6&lt;/TD&gt;&lt;TD&gt;var7&lt;/TD&gt;&lt;TD&gt;var8&lt;/TD&gt;&lt;TD&gt;first&lt;/TD&gt;&lt;TD&gt;last&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;9&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;9&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#CC99FF"&gt;1&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;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 13:58:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699495#M213983</guid>
      <dc:creator>mt88</dc:creator>
      <dc:date>2020-11-17T13:58:33Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699498#M213985</link>
      <description>&lt;P&gt;I am lazy , here is my lazy solution-&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input var1	var2	var3	var4	var5	var6	var7	var8;
cards;
.	1	7	.	3	5	6	9
4	6	.	15	.	2	10	0
15	22	6	.	2	98	1	.
;


data want;
 set have;
 array v var1-var8;
 array vv var8-var1;
 first=coalesce(of v(*));
 last=coalesce(of vv(*));
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I was spoiled by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15410"&gt;@data_null__&lt;/a&gt;&amp;nbsp; teaching me the reverse technique &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 14:06:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699498#M213985</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-11-17T14:06:55Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699499#M213986</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input var1-var8;
datalines;
. 1 7 . 3 5 6 9
4 6 . 15 . 2 10 0
15 22 6 . 2 98 1 .
;

data want;
   set have;
   first = coalesce(of var1-var8);
   last = coalesce(of var8-var1);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Edited post from brute force to this &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 14:07:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699499#M213986</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-11-17T14:07:06Z</dc:date>
    </item>
    <item>
      <title>Re: first or last in a row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699519#M213994</link>
      <description>&lt;P&gt;Thank you all of the help!&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 14:40:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/first-or-last-in-a-row/m-p/699519#M213994</guid>
      <dc:creator>mt88</dc:creator>
      <dc:date>2020-11-17T14:40:59Z</dc:date>
    </item>
  </channel>
</rss>

