<?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 identify correct treatment in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929812#M365873</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your program. I would like to make this program as dynamic like if the CODE variable has ABC instead of AB and TRT should have 3 records with A, B, C then how can we modify the program?&lt;/P&gt;</description>
    <pubDate>Mon, 27 May 2024 11:39:30 GMT</pubDate>
    <dc:creator>r3570</dc:creator>
    <dc:date>2024-05-27T11:39:30Z</dc:date>
    <item>
      <title>How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929807#M365871</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could anyone help me with the below requirement?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have 3 variables SUBJ CODE TRT&amp;nbsp; which have values as following.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SUBJ&amp;nbsp; &amp;nbsp; &amp;nbsp;CODE&amp;nbsp; &amp;nbsp;TRT&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EF&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EF&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the above data for each SUBJ there is a specific code which have corresponding TRT vales as A and B. Example, for SUBJ 1001, code is AB and TRT is having 2 records for same SUBJ and CODE with A in 1 row and B in next row. If it is 1002 then the 2 TRT records should be C and D, but if it C and C then it should be flagged. See below expectation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SUBJ&amp;nbsp; &amp;nbsp; &amp;nbsp;CODE&amp;nbsp; &amp;nbsp;TRT&amp;nbsp; FLAG&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EF&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EF&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;
&lt;P&gt;1004&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1004&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AD&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can anyone help me achieve this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 10:29:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929807#M365871</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-05-27T10:29:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929809#M365872</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input SUBJ $ CODE $ TRT $;
datalines;
1001 AB A
1001 AB B
1002 CD C
1002 CD C
1003 EF E
1003 EF F
1004 AD A
1004 AD A
;

data want;
set have;
by subj code trt notsorted;
if
  first.trt ne last.trt /* indicates consecutive observations with same value */
  and last.trt /* we want to flag only the second occurence */
then flag = 1;
else flag = 0;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;SUBJ	CODE	TRT	flag
1001	AB	A	0
1001	AB	B	0
1002	CD	C	0
1002	CD	C	1
1003	EF	E	0
1003	EF	F	0
1004	AD	A	0
1004	AD	A	1
&lt;/PRE&gt;</description>
      <pubDate>Mon, 27 May 2024 11:12:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929809#M365872</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-05-27T11:12:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929812#M365873</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your program. I would like to make this program as dynamic like if the CODE variable has ABC instead of AB and TRT should have 3 records with A, B, C then how can we modify the program?&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 11:39:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929812#M365873</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-05-27T11:39:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929813#M365874</link>
      <description>&lt;P&gt;The BY statement does not care about the length of variables. As long as there are two (or more) identical TRT values following each other within a SUBJ/CODE group, the flag will be set.&lt;/P&gt;
&lt;P&gt;If there's more to it, you have to supply additional example data (see how it's done in a DATA step), and the expected result from this.&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 11:43:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929813#M365874</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-05-27T11:43:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929819#M365875</link>
      <description>&lt;P&gt;Lets say my data is like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SUBJ&amp;nbsp; &amp;nbsp; &amp;nbsp;CODE&amp;nbsp; &amp;nbsp;TRT&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; E&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; E&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I NEED output like this&lt;/P&gt;
&lt;P&gt;SUBJ&amp;nbsp; &amp;nbsp; &amp;nbsp;CODE&amp;nbsp; &amp;nbsp;TRT&amp;nbsp; &amp;nbsp; &amp;nbsp; FLAG&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ABC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;1002&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;1003&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EFG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;</description>
      <pubDate>Mon, 27 May 2024 11:59:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929819#M365875</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-05-27T11:59:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929820#M365876</link>
      <description>&lt;P&gt;The same code works:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input SUBJ $ CODE $ TRT $;
datalines;
1001 ABC A
1001 ABC B
1001 ABC C
1002 CDE C
1002 CDE C
1002 CDE E
1003 EFG E
1003 EFG F
1003 EFG F
;

data want;
set have;
by subj code trt notsorted;
if
  first.trt ne last.trt /* indicates consecutive observations with same value */
  and last.trt /* we want to flag only the second occurence */
then flag = 1;
else flag = 0;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;SUBJ	CODE	TRT	flag
1001	ABC	A	0
1001	ABC	B	0
1001	ABC	C	0
1002	CDE	C	0
1002	CDE	C	1
1002	CDE	E	0
1003	EFG	E	0
1003	EFG	F	0
1003	EFG	F	1&lt;/PRE&gt;</description>
      <pubDate>Mon, 27 May 2024 12:04:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929820#M365876</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-05-27T12:04:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify correct treatment</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929872#M365877</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input SUBJ $ CODE $ TRT $;
datalines;
1001 ABC A
1001 ABC B
1001 ABC C
1002 CDE C
1002 CDE C
1002 CDE E
1003 EFG E
1003 EFG F
1003 EFG F
;
data want;
 do until(last.subj);
  set have;
  by subj;
  length temp $ 80;
  temp=cats(temp,trt);
 end;
 do i=1 by 1 until(last.subj);
  set have;
  by subj;
  flag=ifn(char(code,i)=char(temp,i),0,1);
  output;
 end;
drop temp i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 28 May 2024 01:45:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-correct-treatment/m-p/929872#M365877</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-05-28T01:45:15Z</dc:date>
    </item>
  </channel>
</rss>

