<?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: Subset a dataset by value in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666890#M199618</link>
    <description>&lt;P&gt;Why did you not include&amp;nbsp;&lt;STRONG&gt;subject_id=117961 visit=visit2 sore=0&lt;/STRONG&gt; in the wanted results&lt;/P&gt;
&lt;P&gt;where the difference to&amp;nbsp;previous visit is 8-0=8 which is greater then 4 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and why you did include&amp;nbsp;&lt;STRONG&gt;subject_id=117962 visit=visit3 score=4&lt;/STRONG&gt; where the difference to&lt;/P&gt;
&lt;P&gt;previous visit is -2 which is less then 4 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try next code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
  by subject_ID;
      if not first.subject_ID and dif(score) ge 4 then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 03 Jul 2020 20:58:57 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2020-07-03T20:58:57Z</dc:date>
    <item>
      <title>Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666882#M199611</link>
      <description>&lt;P&gt;Have&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject ID&lt;/TD&gt;&lt;TD&gt;Visit&lt;/TD&gt;&lt;TD&gt;Score&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117961&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117961&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117961&lt;/TD&gt;&lt;TD&gt;Visit3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117961&lt;/TD&gt;&lt;TD&gt;Visit4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117961&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit4&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117963&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117963&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117963&lt;/TD&gt;&lt;TD&gt;Visit3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117963&lt;/TD&gt;&lt;TD&gt;Visit4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117963&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit4&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;want&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject ID&lt;/TD&gt;&lt;TD&gt;Visit&lt;/TD&gt;&lt;TD&gt;Score&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;117962&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Visit3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;117962&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Visit4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;9&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117962&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;117964&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Visit3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;117964&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Visit4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117964&lt;/TD&gt;&lt;TD&gt;Visit5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to have a subset of data by comparing the score of Visit 2 onward (I don't need to include Visit 1, since Visit 1 is baseline), where the difference between 2 cosecutive scores jump by greater than 4 points.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks as always!!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Jul 2020 20:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666882#M199611</guid>
      <dc:creator>zimcom</dc:creator>
      <dc:date>2020-07-03T20:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666886#M199615</link>
      <description>So you want the highlighted records only?</description>
      <pubDate>Fri, 03 Jul 2020 20:49:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666886#M199615</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-07-03T20:49:06Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666889#M199617</link>
      <description>&lt;P&gt;I want every records of those subject(s) who has a jump of score greater than 4&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Jul 2020 20:58:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666889#M199617</guid>
      <dc:creator>zimcom</dc:creator>
      <dc:date>2020-07-03T20:58:17Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666890#M199618</link>
      <description>&lt;P&gt;Why did you not include&amp;nbsp;&lt;STRONG&gt;subject_id=117961 visit=visit2 sore=0&lt;/STRONG&gt; in the wanted results&lt;/P&gt;
&lt;P&gt;where the difference to&amp;nbsp;previous visit is 8-0=8 which is greater then 4 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and why you did include&amp;nbsp;&lt;STRONG&gt;subject_id=117962 visit=visit3 score=4&lt;/STRONG&gt; where the difference to&lt;/P&gt;
&lt;P&gt;previous visit is -2 which is less then 4 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try next code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
  by subject_ID;
      if not first.subject_ID and dif(score) ge 4 then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 03 Jul 2020 20:58:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666890#M199618</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2020-07-03T20:58:57Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666893#M199620</link>
      <description>Yes, but do you want both of those records, the first or the last? What happens if it's consecutive?</description>
      <pubDate>Fri, 03 Jul 2020 21:04:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666893#M199620</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-07-03T21:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666897#M199623</link>
      <description>Why did you not include subject_id=117961 visit=visit2 sore=0 in the wanted results&lt;BR /&gt;where the difference to previous visit is 8-0=8 which is greater then 4 ?&lt;BR /&gt;[Because the Visit1 is baseline and I only want the jump from Visit 2 and onward.]&lt;BR /&gt;&lt;BR /&gt;and why you did include subject_id=117962 visit=visit3 score=4 where the difference to&lt;BR /&gt;previous visit is -2 which is less then 4 ?&lt;BR /&gt;[I am only interested in the increase, not the decrease. the difference is more than 4 from the previous one ]</description>
      <pubDate>Fri, 03 Jul 2020 21:05:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666897#M199623</guid>
      <dc:creator>zimcom</dc:creator>
      <dc:date>2020-07-03T21:05:43Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666899#M199624</link>
      <description>I want all the records of those subjects who has a jump of more than 4 from the previous visit</description>
      <pubDate>Fri, 03 Jul 2020 21:10:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666899#M199624</guid>
      <dc:creator>zimcom</dc:creator>
      <dc:date>2020-07-03T21:10:31Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666903#M199626</link>
      <description>&lt;P&gt;You need to make two passes through the data. One to identify the subjects. One to select the data for those subjects.&lt;/P&gt;
&lt;P&gt;You could use a method that goes by the name DOW loop.&amp;nbsp; Or double-DOW loop.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  do until (last.subjectid);
    set have;
    by subjectid vist;
    if dif(score) &amp;gt; 4 and not first.subjectid then found=1;
  end;
  do until(last.subjectid);
    set have;
    by subjectid;
    if found then output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 03 Jul 2020 21:23:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666903#M199626</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-07-03T21:23:51Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666917#M199632</link>
      <description>&lt;P&gt;Within all subjects the first visit is "Visit1" so using "not first.subject_ID" omits it;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;you asked for: "&lt;SPAN&gt;I don't need to include Visit 1, since Visit 1 is baseline" then why is&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;subject=117962 visit=visit1 score=0&lt;/STRONG&gt;&amp;nbsp; is in the wanted output? and why&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;subject=117964 visit=visit1 score=0&lt;/STRONG&gt;&amp;nbsp;is in the wanted output?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You posted as wanted output observations which do not fit your specifications.&lt;/P&gt;</description>
      <pubDate>Sat, 04 Jul 2020 01:33:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666917#M199632</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2020-07-04T01:33:47Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666934#M199640</link>
      <description>&lt;P&gt;you asked for: "&lt;SPAN&gt;I don't need to include Visit 1, since Visit 1 is baseline" then why is&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;subject=117962 visit=visit1 score=0&lt;/STRONG&gt;&amp;nbsp; is in the wanted output? and why&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;subject=117964 visit=visit1 score=0&lt;/STRONG&gt;&amp;nbsp;is in the wanted output?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am really sorry fo rthe confusion. In the wanted output, I want records by "Subject", which means I want ALL the records of "those Subjects" whose 2 consective visits scores jumped gretaer than 4 points, when I do the comparsion, I don't need to consider the jump between the Visit 1 and Visit 2, I only need to consider the jump (increase) between visit 2 to visit 3, visit 3 to visit 4, and visit 4 to visit 5, when I find that subject, I wnat all his(her) records in the output dataset. I hope it is clear now.&lt;/P&gt;</description>
      <pubDate>Sat, 04 Jul 2020 12:01:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666934#M199640</guid>
      <dc:creator>zimcom</dc:creator>
      <dc:date>2020-07-04T12:01:55Z</dc:date>
    </item>
    <item>
      <title>Re: Subset a dataset by value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666936#M199642</link>
      <description>&lt;P&gt;Asking for:&lt;/P&gt;
&lt;P&gt;"&lt;SPAN&gt;&amp;nbsp;I want records by "Subject", which means I want ALL the records of "those Subjects" whose 2 consective visits scores jumped gretaer than 4 points, when I do the comparsion, I don't need to consider the jump between the Visit 1 and Visit 2, I only need to consider the jump (increase) between visit 2 to visit 3, visit 3 to visit 4, and visit 4 to visit 5, when I find that subject, I wnat all his(her) records in the output dataset." - try next code:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data subjects(keep=subject_ID);
set have;
  by subject_ID;
      if not first.subject_ID and dif(score) ge 4 then output;
run;
proc sql;
   create table want as
   select * from have 
   where subject_ID in 
      (select distinct subject_ID form subjects)
; quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;SPAN&gt;In case of any issue please post the log and describe the issue you have.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Pay attention:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;- DIF function computes the difference between current and previous value of a variable.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Jul 2020 12:38:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subset-a-dataset-by-value/m-p/666936#M199642</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2020-07-04T12:38:35Z</dc:date>
    </item>
  </channel>
</rss>

