<?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 Flag distinct rows within a by variable using vertical data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548697#M152187</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create a variable that identifies if a specific patient receives more than one dosage type of a given medication. So if the patient only receives one dosage type than the new variable would be 1 for all given rows for that patient. If a patient receives two different dosage types than the new variable would be 1 for the first dosage type and 2 for the 2nd dosage type. Below is an example of the data and the variable I want to create. (I'm using SAS 9.2).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&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;Medication_dose&lt;/TD&gt;&lt;TD&gt;Variable_wanted&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Fri, 05 Apr 2019 07:15:47 GMT</pubDate>
    <dc:creator>sk123</dc:creator>
    <dc:date>2019-04-05T07:15:47Z</dc:date>
    <item>
      <title>Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548697#M152187</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create a variable that identifies if a specific patient receives more than one dosage type of a given medication. So if the patient only receives one dosage type than the new variable would be 1 for all given rows for that patient. If a patient receives two different dosage types than the new variable would be 1 for the first dosage type and 2 for the 2nd dosage type. Below is an example of the data and the variable I want to create. (I'm using SAS 9.2).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&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;Medication_dose&lt;/TD&gt;&lt;TD&gt;Variable_wanted&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;500mg&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;250mg&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;100mg&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 05 Apr 2019 07:15:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548697#M152187</guid>
      <dc:creator>sk123</dc:creator>
      <dc:date>2019-04-05T07:15:47Z</dc:date>
    </item>
    <item>
      <title>Re: Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548700#M152190</link>
      <description>&lt;P&gt;Sort by id and medication_dose.&lt;/P&gt;
&lt;P&gt;In a data step, use&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;by id medication_dose;
retain variable_wanted;
if first.id then variable_wanted = 0;
if first.medication_dose then variable_wanted + 1;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Apr 2019 07:28:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548700#M152190</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-04-05T07:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548706#M152191</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Medication_dose $;
datalines;
1 500mg
1 500mg
1 500mg
1 100mg
1 100mg
2 250mg
2 250mg
2 250mg
3 500mg
3 500mg
3 250mg
3 100mg
;

proc sort data=have;
   by ID Medication_dose ;
run;

data want;
   set have;
   by ID Medication_dose;
   if first.ID then variable_wanted=0;
   if first.Medication_dose then variable_wanted+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Apr 2019 08:18:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548706#M152191</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-04-05T08:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548710#M152192</link>
      <description>&lt;P&gt;Or if you want to avoid sorting.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, welcome to the SAS Communities &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID Medication_dose $;
datalines;
1 500mg
1 500mg
1 500mg
1 100mg
1 100mg
2 250mg
2 250mg
2 250mg
3 500mg
3 500mg
3 250mg
3 100mg
;

data want;
   if _N_ = 1 then do;
      declare hash h();
      h.defineKey('ID', 'Medication_dose');
      h.defineDone();
   end;

   do until (last.ID);
      set have;
      by ID notsorted;
      if h.check() ne 0 then do;
         Variable_wanted+1;
         h.add();
      end;
      output;
   end;
   Variable_wanted=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Apr 2019 08:22:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548710#M152192</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-04-05T08:22:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548712#M152194</link>
      <description>Thank you! This worked perfectly.</description>
      <pubDate>Fri, 05 Apr 2019 08:30:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548712#M152194</guid>
      <dc:creator>sk123</dc:creator>
      <dc:date>2019-04-05T08:30:31Z</dc:date>
    </item>
    <item>
      <title>Re: Flag distinct rows within a by variable using vertical data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548722#M152202</link>
      <description>Thank you!</description>
      <pubDate>Fri, 05 Apr 2019 09:57:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flag-distinct-rows-within-a-by-variable-using-vertical-data/m-p/548722#M152202</guid>
      <dc:creator>sk123</dc:creator>
      <dc:date>2019-04-05T09:57:42Z</dc:date>
    </item>
  </channel>
</rss>

