<?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: select rows with conditions, which conect with last and next rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831677#M328688</link>
    <description>Hello Kurt Bremer,&lt;BR /&gt;Thanks for your reply.&lt;BR /&gt;I just want to move the line pointer to the last row or next row, that is why my code is like this.&lt;BR /&gt;What I want is like the second table. When there is only one row before the row with zweck 7, then add a number in form Zweck of last row+7, otherwise make it 1.</description>
    <pubDate>Sat, 03 Sep 2022 18:48:08 GMT</pubDate>
    <dc:creator>ZhihanZhou</dc:creator>
    <dc:date>2022-09-03T18:48:08Z</dc:date>
    <item>
      <title>select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831661#M328675</link>
      <description>&lt;P&gt;hello everyone,&amp;nbsp;&lt;/P&gt;&lt;P&gt;i want to select rows only if the second row with 7 and add a number , for exsample:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;array a(&lt;STRONG&gt;1&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;x=zweck;&lt;/P&gt;&lt;P&gt;if x=&lt;STRONG&gt;7&lt;/STRONG&gt; and x-&lt;STRONG&gt;2&lt;/STRONG&gt;=&lt;STRONG&gt;7&lt;/STRONG&gt; then a1=&lt;STRONG&gt;7&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;if x-&lt;STRONG&gt;1&lt;/STRONG&gt;=&lt;STRONG&gt;7&lt;/STRONG&gt; and x+&lt;STRONG&gt;1&lt;/STRONG&gt;=&lt;STRONG&gt;7&lt;/STRONG&gt; then a1=&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;ZWECK&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and what i want is like the following:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;ZWECK&lt;/TD&gt;&lt;TD&gt;HZ&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 03 Sep 2022 15:11:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831661#M328675</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-03T15:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831664#M328677</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if x=7 and x-2=7&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If x is 7, it can't be 9 (so that x-2 equals 7), so both parts of the condition can never be true at the same time, which means that the whole condition can NEVER be true.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Show what you want to get out of your dataset.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 15:36:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831664#M328677</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-09-03T15:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831669#M328682</link>
      <description>&lt;P&gt;This seems to produce what you want, not clear what the heck it MEANS however.&lt;/P&gt;
&lt;P&gt;It wasn't clear what types of variable ZWECK or HZ were.&amp;nbsp; So I made them character and included a delimiter between the two values since they seem to be variable length.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have ;
  by id;
  set have(keep=ZWECK rename=(ZWECK=next) firstobs=2) have(obs=1 drop=_all_);
  previous=lag(ZWECK);
  if first.id then call missing(previous);
  if last.id then call missing(next);
  length hz $5 ;
  retain hz;
  if next='7' then do;
    if previous='7' or first.id then hz=catx('-',ZWECK,next);
    else hz='1';
  end;
  else if ZWECK ne '7' then hz='1';
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results:&lt;/P&gt;
&lt;PRE&gt;OBS        ID        ZWECK    want    next    previous    hz

  1    4101000003     4       47       7                  4-7
  2    4101000003     7       47       5         4        4-7
  3    4101000003     5       57       7         7        5-7
  4    4101000003     7       57       4         5        5-7
  5    4101000003     4       47       7         7        4-7
  6    4101000003     7       47       4         4        4-7
  7    4101000003     4       47       7         7        4-7
  8    4101000003     7       47                 4        4-7
  9    4101000010     5       57       7                  5-7
 10    4101000010     7       57       11        5        5-7
 11    4101000010     11      117      7         7        11-7
 12    4101000010     7       117      4         11       11-7
 13    4101000010     4       47       7         7        4-7
 14    4101000010     7       47       6         4        4-7
 15    4101000010     6       67       7         7        6-7
 16    4101000010     7       67                 6        6-7
 17    4101000011     4       47       7                  4-7
 18    4101000011     7       47       11        4        4-7
 19    4101000011     11      1        4         7        1
 20    4101000011     4       1        7         11       1
 21    4101000011     7       1        6         4        1
 22    4101000011     6       67       7         7        6-7
 23    4101000011     7       67       9         6        6-7
 24    4101000011     9       1        5         7        1
 25    4101000011     5       1        7         9        1
 26    4101000011     7       1        4         5        1
 27    4101000011     4       47       7         7        4-7
 28    4101000011     7       47       4         4        4-7
 29    4101000011     4       47       7         7        4-7
 30    4101000011     7       47       6         4        4-7
 31    4101000011     6       67       7         7        6-7
 32    4101000011     7       67       5         6        6-7
 33    4101000011     5       57       7         7        5-7
 34    4101000011     7       57                 5        5-7
 35    4101000015     4       47       7                  4-7
 36    4101000015     7       47       11        4        4-7
 37    4101000015     11      117      7         7        11-7
 38    4101000015     7       117                11       11-7
&lt;/PRE&gt;</description>
      <pubDate>Sat, 03 Sep 2022 16:16:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831669#M328682</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-09-03T16:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831670#M328683</link>
      <description>&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;Thanks for your solution. Firstly, to your Question: all of them are numeric. also I have a few questions about your code:&lt;/P&gt;&lt;P&gt;1. following your code should i rewrite 'length hz $5' as 'length hz 12.', considering they are numeric?&lt;/P&gt;&lt;P&gt;2. how should i define first.id and last.id? or it will work automatic?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 16:30:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831670#M328683</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-03T16:30:29Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831675#M328687</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/432939"&gt;@ZhihanZhou&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi Tom,&lt;/P&gt;
&lt;P&gt;Thanks for your solution. Firstly, to your Question: all of them are numeric. also I have a few questions about your code:&lt;/P&gt;
&lt;P&gt;1. following your code should i rewrite 'length hz $5' as 'length hz 12.', considering they are numeric?&lt;/P&gt;
&lt;P&gt;2. how should i define first.id and last.id? or it will work automatic?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If they are numeric what the heck does the new HZ variable represent? How can you combine two numbers into one?&amp;nbsp; Since the second one seems to be always one digit then perhaps you could use:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;hz = previous*10 + ZWECK;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You do not normally need to define a LENGTH for a numeric variable.&amp;nbsp; &amp;nbsp;You certainly CANNOT define a numeric variable as length of 12 since all numeric variables are 64 bit floating point numbers so the maximum number of bytes they can occupy is 8.&amp;nbsp; Perhaps you are confusing the format attached to a number which will tell SAS how you want the number to PRINT.&amp;nbsp; The LENGTH of a variable is how much space is required to store it in the dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;FIRST. and LAST. are defined by the use of the BY statement.&amp;nbsp; SAS will set them to TRUE or FALSE as it reads through the input data.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 17:47:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831675#M328687</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-09-03T17:47:49Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831677#M328688</link>
      <description>Hello Kurt Bremer,&lt;BR /&gt;Thanks for your reply.&lt;BR /&gt;I just want to move the line pointer to the last row or next row, that is why my code is like this.&lt;BR /&gt;What I want is like the second table. When there is only one row before the row with zweck 7, then add a number in form Zweck of last row+7, otherwise make it 1.</description>
      <pubDate>Sat, 03 Sep 2022 18:48:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831677#M328688</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-03T18:48:08Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831683#M328691</link>
      <description>&lt;P&gt;Hello Tom,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks for your reply!&lt;/P&gt;&lt;P&gt;i have tried your code, a part of them succeed, but still come some erorr Warnings: 'invalid numeric data'(is it because 'if previous='7' or first.id then hz=catx('-',ZWECK,next);' this sentence makes those numeric data as character?) and some missing value, like following:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;ZWECK&lt;/TD&gt;&lt;TD&gt;next&lt;/TD&gt;&lt;TD&gt;previous&lt;/TD&gt;&lt;TD&gt;hz&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000003&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000010&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4101000011&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;47&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ZhihanZhou_1-1662233520084.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/74976i1AB4AF0DB15C753B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ZhihanZhou_1-1662233520084.png" alt="ZhihanZhou_1-1662233520084.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>Sat, 03 Sep 2022 19:40:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831683#M328691</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-03T19:40:32Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831727#M328714</link>
      <description>&lt;P&gt;Why did you keep the quotes when the variable is numeric?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if previous=7 then ...&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 04 Sep 2022 18:38:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831727#M328714</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-09-04T18:38:05Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831731#M328715</link>
      <description>&lt;P&gt;And what if you have a sequence such as&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4&lt;/P&gt;
&lt;P&gt;7&lt;/P&gt;
&lt;P&gt;7&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for zweck?&lt;/P&gt;</description>
      <pubDate>Sun, 04 Sep 2022 19:12:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831731#M328715</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-09-04T19:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831737#M328718</link>
      <description>Thanks!! It‘s succeed!</description>
      <pubDate>Sun, 04 Sep 2022 20:06:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831737#M328718</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-04T20:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831738#M328719</link>
      <description>Normally, it will not. Because those are mobility data about demand profiles of high ways and those ‚zweck‘ represent different demand. ‚7‘ means drive to home, logically there is at less one another activity between two zweck ‚7‘. People can not just back to home twice without going out.</description>
      <pubDate>Sun, 04 Sep 2022 20:13:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831738#M328719</guid>
      <dc:creator>ZhihanZhou</dc:creator>
      <dc:date>2022-09-04T20:13:16Z</dc:date>
    </item>
    <item>
      <title>Re: select rows with conditions, which conect with last and next rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831746#M328726</link>
      <description>&lt;P&gt;You can do this relatively simply using a self-merge with offset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; data want (drop=nxt_:);
   merge have  
         have (firstobs=2 keep=id zweck rename=(id=nxt_id zweck=nxt_zweck));

   retain hz '     ';
   if nxt_zweck=7 and id=nxt_id then hz=catx('-',zweck,nxt_zweck);
   output;
   if nxt_id^=id or nxt_zweck^=7 then hz='';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 04 Sep 2022 22:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-rows-with-conditions-which-conect-with-last-and-next-rows/m-p/831746#M328726</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-09-04T22:02:40Z</dc:date>
    </item>
  </channel>
</rss>

