<?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: Defining variables based on multiplelines per person. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/454735#M114937</link>
    <description>&lt;P&gt;Please supply example data in a usable form, see my footnotes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As already mentioned in &lt;A href="https://communities.sas.com/t5/Base-SAS-Programming/Restriction-of-data-based-on-dates/m-p/454719" target="_blank"&gt;https://communities.sas.com/t5/Base-SAS-Programming/Restriction-of-data-based-on-dates/m-p/454719&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 17 Apr 2018 13:49:32 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2018-04-17T13:49:32Z</dc:date>
    <item>
      <title>Defining variables based on multiplelines per person.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/454733#M114935</link>
      <description>&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Hi SAS Experts&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;Normally I would have one line per patient per admission however in this case it is to complicated and instead I have multiples lines per patient per admission. I my normal case I would use an array&amp;nbsp; and then define my diagnosis variables (please see example code below). &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; indlagte_main;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;set&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; indlagte_main;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;addiction=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;alcohol=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;array&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; x{*} diagindH1-diagindH2 diagindB1-diagindB10;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; i=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;to&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; dim(x);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; substr(misdiag{i},&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) in (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'DF1'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;addiction=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; substr(misdiag{i},&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;) in (&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="2"&gt;'DF10'&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;then&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New" size="2"&gt;do&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; alcohol=&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;end&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;This is what I have now&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Record_id&lt;/TD&gt;&lt;TD&gt;admissionnumber&lt;/TD&gt;&lt;TD&gt;Admission date&lt;/TD&gt;&lt;TD&gt;Discharge date&lt;/TD&gt;&lt;TD&gt;date of diagnosis&lt;/TD&gt;&lt;TD&gt;diagnosis&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;01-01-2010&lt;/TD&gt;&lt;TD&gt;01-02-2010&lt;/TD&gt;&lt;TD&gt;02-01-2010&lt;/TD&gt;&lt;TD&gt;df200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;01-01-2010&lt;/TD&gt;&lt;TD&gt;01-02-2010&lt;/TD&gt;&lt;TD&gt;02-03-2010&lt;/TD&gt;&lt;TD&gt;df100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;03-03-2010&lt;/TD&gt;&lt;TD&gt;31-03-2010&lt;/TD&gt;&lt;TD&gt;04-03-2010&lt;/TD&gt;&lt;TD&gt;df147&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;03-03-2010&lt;/TD&gt;&lt;TD&gt;31-03-2010&lt;/TD&gt;&lt;TD&gt;04-03-2010&lt;/TD&gt;&lt;TD&gt;df200&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is what I want. Addiction and alcohol definitions should be the same as in the above array.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Record_id&lt;/TD&gt;&lt;TD&gt;admissionnumber&lt;/TD&gt;&lt;TD&gt;Admission date&lt;/TD&gt;&lt;TD&gt;Discharge date&lt;/TD&gt;&lt;TD&gt;Addiction&lt;/TD&gt;&lt;TD&gt;Alcohol&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;01-01-2010&lt;/TD&gt;&lt;TD&gt;01-02-2010&lt;/TD&gt;&lt;TD&gt;1&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;2&lt;/TD&gt;&lt;TD&gt;03-03-2010&lt;/TD&gt;&lt;TD&gt;31-03-2010&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this makes sence.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards from&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Solvej&lt;/P&gt;</description>
      <pubDate>Tue, 17 Apr 2018 13:46:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/454733#M114935</guid>
      <dc:creator>Solvej</dc:creator>
      <dc:date>2018-04-17T13:46:23Z</dc:date>
    </item>
    <item>
      <title>Re: Defining variables based on multiplelines per person.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/454735#M114937</link>
      <description>&lt;P&gt;Please supply example data in a usable form, see my footnotes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As already mentioned in &lt;A href="https://communities.sas.com/t5/Base-SAS-Programming/Restriction-of-data-based-on-dates/m-p/454719" target="_blank"&gt;https://communities.sas.com/t5/Base-SAS-Programming/Restriction-of-data-based-on-dates/m-p/454719&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Apr 2018 13:49:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/454735#M114937</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-04-17T13:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: Defining variables based on multiplelines per person.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/455057#M115067</link>
      <description>&lt;P&gt;I apologize for this. I hope this datastep is sufficient. Please remember that I have thousands of patients with a many admission. The date format is incorrect but many you have an idea of which one to use. The all seem to fail when I try to use them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; have;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; Record_id admissionnumber Admission_date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;DATE10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; Discharge_date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;date10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date_of_diagnosis &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;date10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; diagnosis $; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; Admission_date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;date10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; Discharge_date &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;date10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; date_of_diagnosis &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;date10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1 1 01-01-2010 01-02-2010 02-01-2010 df200&lt;/P&gt;&lt;P&gt;1 1 01-01-2010 01-02-2010 02-03-2010 df100&lt;/P&gt;&lt;P&gt;1 2 03-03-2010 31-03-2010 04-03-2010 df147&lt;/P&gt;&lt;P&gt;1 2 03-03-2010 31-03-2010 04-03-2010 df200&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;Kind regards&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;Solvej&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Apr 2018 07:49:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/455057#M115067</guid>
      <dc:creator>Solvej</dc:creator>
      <dc:date>2018-04-18T07:49:10Z</dc:date>
    </item>
    <item>
      <title>Re: Defining variables based on multiplelines per person.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/455060#M115068</link>
      <description>&lt;P&gt;Use by group processing, and retained variables:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input
  Record_id
  admissionnumber
  (Admission_date Discharge_date date_of_diagnosis) (:ddmmyy10.)
  diagnosis $
;
format Admission_date Discharge_date date_of_diagnosis ddmmyyd10.;
datalines;
1 1 01-01-2010 01-02-2010 02-01-2010 df200
1 1 01-01-2010 01-02-2010 02-03-2010 df100
1 2 03-03-2010 31-03-2010 04-03-2010 df147
1 2 03-03-2010 31-03-2010 04-03-2010 df200
;
run;

data want;
set have;
by record_id admissionnumber;
retain addiction alcohol;
if first.admissionnumber
then do;
  addiction = 0;
  alcohol = 0;
end;
if substr(diagnosis,1,3) = 'df1' then addiction = 1;
if substr(diagnosis,1,4) = 'df10' then alcohol = 1;
if last.admissionnumber then output;
drop diagnosis date_of_diagnosis;
run;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;Record_                       Admission_    Discharge_
   id      admissionnumber       date          date       addiction    alcohol

   1              1           01-01-2010    01-02-2010        1           1   
   1              2           03-03-2010    31-03-2010        1           0   
&lt;/PRE&gt;</description>
      <pubDate>Wed, 18 Apr 2018 08:40:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-variables-based-on-multiplelines-per-person/m-p/455060#M115068</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-04-18T08:40:02Z</dc:date>
    </item>
  </channel>
</rss>

