<?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 add a flag on multiple records if a flag is present on just one of those records in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519615#M140767</link>
    <description>&lt;P&gt;This actually worked perfectly. Thank you&lt;/P&gt;</description>
    <pubDate>Sat, 08 Dec 2018 00:43:39 GMT</pubDate>
    <dc:creator>jcsimmo</dc:creator>
    <dc:date>2018-12-08T00:43:39Z</dc:date>
    <item>
      <title>How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516532#M139519</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a large healthcare dataset. Each row is a patient encounter. Each patient has a unique ID (patientID). Each encounter has a unique encounter number (visitID). In each row, the patient has a list of diagnoses flags, eg diabetes can equal 0 or 1 depending on if that diagnosis is present ON THAT VISIT.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the dataset, a patient may have a diagnosis of diabetes on one visit but not on the rest. How can i create a flag 'historyofdiabetes' if the variable 'diabetes' is seen in any visit.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;eg:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;visitID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;patientID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;diabetes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;JS55&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;EX2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;BC99&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;JS55&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the example, Patient AR1 has three visits and JS55 has two visits. In at least one visit, a diagnosis of diabetes is seen for each patient (Visit #4/#7 for AR1 and Visit#2 for JS55) so we know both of these patients have a history of diabetes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like a new column 'historyofdiabetes' where all the rows with JS55 and AR1 would have a 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;visitID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;patientID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;diabetes&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;historyofdiabetes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;JS55&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;EX2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;BC99&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;JS55&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;AR1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The only thing is this database has a ton of patients. I have been creating a list of patientID that have diabetes then having the program add a flag historyofdiabetes=1 if patientID = x or y or z but SAS has a lot of difficulty because of the number of patients in each list.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code step 1:&lt;/P&gt;&lt;P&gt;proc freq data=kid.dataset(where=(diabetes=1)) ORDER=FREQ;&lt;BR /&gt;table patientID;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code step 2:&lt;/P&gt;&lt;P&gt;data kid.dataset (compress=yes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set kid.dataset;&lt;BR /&gt;if patientID in('JS55',&lt;BR /&gt;'AR1', etc) then historyofdiabetes=1; else historyofdiabetes=0;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to temporarily store a list of patientIDs who have diabetes and then have the code read that list and add the historyofdiabetes flag all in one, non-memory intensive, step&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Nov 2018 00:49:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516532#M139519</guid>
      <dc:creator>jcsimmo</dc:creator>
      <dc:date>2018-11-28T00:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516539#M139520</link>
      <description>&lt;P&gt;the best method is：one data step double set can finish your task。&lt;/P&gt;&lt;P&gt;but i writed the another stupid method：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp;
	set a;
	n=_n_;
run;
proc sort data=temp;
	by patientID descending diabetes;
run;
data temp;
	set temp;
	by patientID descending diabetes;
	retain historyofdiabetes;
	if first.patientID then historyofdiabetes=diabetes;
run;
proc sort data=temp out=result(drop=n);
	by n;
run;	&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 28 Nov 2018 02:01:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516539#M139520</guid>
      <dc:creator>learsaas</dc:creator>
      <dc:date>2018-11-28T02:01:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516541#M139521</link>
      <description>&lt;P&gt;Why not just sort?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you sort so that 1 is first (descending) the you can set all other records to the flag if you want.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have;
by id descending flag;
run;

data want;
set have;
by id;
retain Flag;

if first.ID then newFlag=flag;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/90354"&gt;@jcsimmo&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi there,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a large healthcare dataset. Each row is a patient encounter. Each patient has a unique ID (patientID). Each encounter has a unique encounter number (visitID). In each row, the patient has a list of diagnoses flags, eg diabetes can equal 0 or 1 depending on if that diagnosis is present ON THAT VISIT.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the dataset, a patient may have a diagnosis of diabetes on one visit but not on the rest. How can i create a flag 'historyofdiabetes' if the variable 'diabetes' is seen in any visit.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;eg:&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;visitID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;patientID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;diabetes&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;JS55&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;3&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;EX2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;4&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;5&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;BC99&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;6&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;JS55&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;7&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the example, Patient AR1 has three visits and JS55 has two visits. In at least one visit, a diagnosis of diabetes is seen for each patient (Visit #4/#7 for AR1 and Visit#2 for JS55) so we know both of these patients have a history of diabetes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like a new column 'historyofdiabetes' where all the rows with JS55 and AR1 would have a 1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;visitID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;patientID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;diabetes&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;historyofdiabetes&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;JS55&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;3&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;EX2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;4&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;5&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;BC99&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;6&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;JS55&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;7&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;AR1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The only thing is this database has a ton of patients. I have been creating a list of patientID that have diabetes then having the program add a flag historyofdiabetes=1 if patientID = x or y or z but SAS has a lot of difficulty because of the number of patients in each list.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My code step 1:&lt;/P&gt;
&lt;P&gt;proc freq data=kid.dataset(where=(diabetes=1)) ORDER=FREQ;&lt;BR /&gt;table patientID;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My code step 2:&lt;/P&gt;
&lt;P&gt;data kid.dataset (compress=yes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set kid.dataset;&lt;BR /&gt;if patientID in('JS55',&lt;BR /&gt;'AR1', etc) then historyofdiabetes=1; else historyofdiabetes=0;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there a way to temporarily store a list of patientIDs who have diabetes and then have the code read that list and add the historyofdiabetes flag all in one, non-memory intensive, step&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Nov 2018 01:47:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516541#M139521</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-11-28T01:47:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516544#M139522</link>
      <description>&lt;P&gt;This problem is a natural application&amp;nbsp;for the hash object, which is a memory-resident "table" that allows quick&amp;nbsp;access to dataitems (table "rows") based on a key - patientid in your case.&amp;nbsp; The tactic below is to create such an object containing ONLY patientid's with diabetes=1 - hash object named DIAB in this code.&amp;nbsp; Then, if the patientid is in DIAB, history_of_diabetes should be set to 1:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set kid.dataset;
  if _n_=1 then do;
    declare hash diab(dataset:'kid.dataset (keep=patientid diabetes where=(diabetes=1))');
    diab.definekey('patientid');
    diab.definedata('patientid');
    diab.definedone();
  end;
  history_of_diabetes=(diab.find()=0);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This program effectively reads the kid.dataset twice, once to populate the hash table diab, and the second to read all the observations and see if they are in the diab hash table.&amp;nbsp; Note the the diab.find() method returns a zero when successful.&amp;nbsp; That's why the assignment statement for history_of_diabetes might at first look counter-intuitive, because it returns a 1 or 0 depending on whether diab.find() is successful.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Nov 2018 01:52:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516544#M139522</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-11-28T01:52:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516545#M139523</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input visitID	patientID $	diabetes ;
cards;
1	AR1	0
2	JS55	1
3	EX2	0
4	AR1	1
5	BC99	0
6	JS55	0
7	AR1	1
;

proc sql;
create table want as 
select *, max(diabetes) as historyofdiabetes
from have
group by patientid
order by visitid;
quit;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 28 Nov 2018 02:08:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/516545#M139523</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-28T02:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519615#M140767</link>
      <description>&lt;P&gt;This actually worked perfectly. Thank you&lt;/P&gt;</description>
      <pubDate>Sat, 08 Dec 2018 00:43:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519615#M140767</guid>
      <dc:creator>jcsimmo</dc:creator>
      <dc:date>2018-12-08T00:43:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519819#M140871</link>
      <description>&lt;P&gt;Can I ask one other question since I am having a difficult time understanding how the hash tables work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;say there is another variable in the dataset that is patientsmomid for the patient's mother's patientID, can I use the hash table to find all the patientsmomid that have this new diabetes flag and then find the patientIDs of the those mothers and flag them with a momofpatientwithdiabetes flag.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My guess would be that&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; want&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; kid&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;dataset&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; _n_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token keyword"&gt;declare&lt;/SPAN&gt; hash diab&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;dataset:&lt;SPAN class="token string"&gt;'kid.dataset (keep=patientid patientsmomid history_of_diabetes where=(history_of_diabetes=1))'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    diab&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definekey&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'patientid'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    diab&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definedata&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'patientsmomid'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    diab&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definedone&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  momofpatientwithdiabetes &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;diab&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;find&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 02:26:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519819#M140871</guid>
      <dc:creator>jcsimmo</dc:creator>
      <dc:date>2018-12-10T02:26:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519840#M140888</link>
      <description>&lt;P&gt;I presume both moms and patients are in the dataset you refer to.&amp;nbsp; So, for instance, if there is a record of a diabetes patient with ID=333, and MOMID=111, then if there is another records with ID=111, you want to set the flag of momofpatientwithdiab=1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; for each patient with diabetes, you want to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. get their mother's id, and put it in a lookup table&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. find that id as patient id in the dataset and add a flag variable momofpatientwithdiab=1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set kid.dataset;
  declare hash momids(dataset:'kid.dataset (keep=patientsmomid history_of_diabetes                                                  
                                                 where=(history_of_diabetes=1))');
    momids.definekey('patientsmomid');
    momids.definedata();
    momids.definedone();
  end;
  momofpatientwithdiabetes=(momids.check(key:patientid)=0);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unlike the FIND method, the CHECK method does not transfer data from the hash object to the data set program data vector.&amp;nbsp; It just tells the users whether a key with that value is in the hash object.&amp;nbsp; As a result, while the hash object is keyed on the select patientsmomid, the program running the check compares the incoming record patientid against all the patientsmomid in the table.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 07:17:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/519840#M140888</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-12-10T07:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to add a flag on multiple records if a flag is present on just one of those records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/520138#M140999</link>
      <description>&lt;P&gt;You have&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;  momids&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;definedata&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;blank.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Would patientid be in this field? (and also in the keep field as well).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jon&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 20:29:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-a-flag-on-multiple-records-if-a-flag-is-present-on/m-p/520138#M140999</guid>
      <dc:creator>jcsimmo</dc:creator>
      <dc:date>2018-12-10T20:29:06Z</dc:date>
    </item>
  </channel>
</rss>

