<?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: question on checking prior values in a dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278287#M55978</link>
    <description>&lt;P&gt;Please separate it into two datasets - what you have and what you want.&lt;/P&gt;
&lt;P&gt;I don't follow your current table.&lt;/P&gt;</description>
    <pubDate>Fri, 17 Jun 2016 18:57:32 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-06-17T18:57:32Z</dc:date>
    <item>
      <title>question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278271#M55971</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;WHAT I HAVE:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;subject &amp;nbsp; val (char) Date &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; June 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL02 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; June 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;July 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL02 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;July 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL03 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN&gt;July 1 &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL04 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;July 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Aug 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Aug 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL03 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aug 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL04 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aug 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;what I want:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subject &amp;nbsp; &amp;nbsp; &amp;nbsp; VAL &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Date &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; visit &amp;nbsp; &amp;nbsp; Flag&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; July 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; error&lt;/P&gt;&lt;P&gt;01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IL02 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aug 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp;error&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to find a way to highlight that IL01 which was present on June 1 at visit 1 is not present on July 1 at visit 2 and then IL02 was not present in Aug 1 at visit 3 but present in July 1 at visit 2.&lt;/P&gt;&lt;P&gt;Basically comparing the current visit data to the prior visit data for the absence of the value.&lt;/P&gt;&lt;P&gt;meaning that whatever is present at the prior visit in VAL must be present at the next visit and so forth.&lt;/P&gt;&lt;P&gt;hope this makes sense,&lt;/P&gt;&lt;P&gt;I do not want the 1st visit&amp;nbsp;to flag since there is nothing prior to June 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;any help appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2016 21:13:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278271#M55971</guid>
      <dc:creator>jmanlay</dc:creator>
      <dc:date>2016-06-17T21:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278275#M55973</link>
      <description>&lt;P&gt;What do you want your output to look like? What if they aren't present, what happens then? It's probably a good idea to expand your example with several scenarios.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2016 18:40:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278275#M55973</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-06-17T18:40:22Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278281#M55975</link>
      <description>so let's say IL01 is not present on July 1 and shows a . then I woudl only want that in the output</description>
      <pubDate>Fri, 17 Jun 2016 18:51:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278281#M55975</guid>
      <dc:creator>jmanlay</dc:creator>
      <dc:date>2016-06-17T18:51:33Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278287#M55978</link>
      <description>&lt;P&gt;Please separate it into two datasets - what you have and what you want.&lt;/P&gt;
&lt;P&gt;I don't follow your current table.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2016 18:57:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278287#M55978</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-06-17T18:57:32Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278290#M55979</link>
      <description>just did thanks</description>
      <pubDate>Fri, 17 Jun 2016 19:00:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278290#M55979</guid>
      <dc:creator>jmanlay</dc:creator>
      <dc:date>2016-06-17T19:00:57Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278291#M55980</link>
      <description>&lt;P&gt;Are your SAS dates, characters or sas date variables?&lt;/P&gt;
&lt;P&gt;Do you cross years in the comparison, ie need to compare January to December? There's no year in your sample data.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2016 19:02:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278291#M55980</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-06-17T19:02:17Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278294#M55981</link>
      <description>val is character&lt;BR /&gt;date is numeric&lt;BR /&gt;visit is character.&lt;BR /&gt;&lt;BR /&gt;everything will be sorted by the date and the visit.</description>
      <pubDate>Fri, 17 Jun 2016 19:09:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278294#M55981</guid>
      <dc:creator>jmanlay</dc:creator>
      <dc:date>2016-06-17T19:09:29Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278299#M55982</link>
      <description>&lt;P&gt;This can get you started. You need to deal with the scenario of the first/last month where you definitely won't have matching records.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat date date9.;
format date date9.;
input id $  val $ Date        visit;
cards;
01          IL01         01Jun2016       1
01          IL02         01Jun2016       1
01          .            01Jul2016       2
01          IL02         01Jul2016       2
01          IL03         01Jul2016       2
01          IL04         01Jul2016       2
01          IL01         01Aug2016       3
01          .            01Aug2016       3
01          IL03         01Aug2016       3
01          IL04         01Aug2016       3
;
run;

proc sql;
create table want as
select a.*, b.date as date_check, b.val as val_check, 
case when missing(b.val) and not missing(a.val) then 'Flag'
       else 'OK' end as check
from have as a
left join have as b
on a.id=b.id
and a.date=intnx('month', b.date, -1, 'b')
and a.val=b.val;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 Jun 2016 19:24:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278299#M55982</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-06-17T19:24:29Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278307#M55984</link>
      <description>&lt;P&gt;the output of the code you listed ends up flagging IL02 in the wrong spots. it flags the 1st , 4th, 8,9 and 10 rows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What it needs to flag is what is not present at that current visit that was present at the prior visit. So IL01 at visit 2 needs to be flagged since present at visit 1 but not present at visit 2 and IL02 at visit 3 needs to be flagged since present at visit 2 but not at visit 3&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2016 19:50:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278307#M55984</guid>
      <dc:creator>jmanlay</dc:creator>
      <dc:date>2016-06-17T19:50:27Z</dc:date>
    </item>
    <item>
      <title>Re: question on checking prior values in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278343#M55994</link>
      <description>&lt;PRE&gt;
data have;
informat date date9.;
format date date9.;
input id $  val $ Date        visit;
cards;
01          IL01         01Jun2016       1
01          IL02         01Jun2016       1
01          .            01Jul2016       2
01          IL02         01Jul2016       2
01          IL03         01Jul2016       2
01          IL04         01Jul2016       2
01          IL01         01Aug2016       3
01          .            01Aug2016       3
01          IL03         01Aug2016       3
01          IL04         01Aug2016       3
;
run;

data want;
array x{9999} $ 20 _temporary_;
 
do i=1 by 1 until(last.visit);
 set have;
 by id visit;
 if missing(val) then do;val=x{i};x{i}=' ';output;end;
  else  x{i}=val;
end;
drop i;
run;
 

&lt;/PRE&gt;</description>
      <pubDate>Sat, 18 Jun 2016 08:02:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/question-on-checking-prior-values-in-a-dataset/m-p/278343#M55994</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-06-18T08:02:31Z</dc:date>
    </item>
  </channel>
</rss>

