<?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 How to create a new row? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504806#M135143</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set containing approx. 20,000 observations. Each ID represents a&amp;nbsp;medical patient that had a medical exam. Based on the diagnosis, a code was assigned. One patient can have many codes and many exams at different date.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It looks like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;code1&lt;/TD&gt;&lt;TD&gt;code2&lt;/TD&gt;&lt;TD&gt;code3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;02.05&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-08-19&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-05-02&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2010-03-28&lt;/TD&gt;&lt;TD&gt;03.05&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&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;I am asking for your help to create observation containing the code2 and code3 value. Basically, I want to tell SAS that "if the code2 variable is not empty, take what is in the code2 variable and put it a new observation with the related date."&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;code&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;02.05&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-05-02&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2010-03-28&lt;/TD&gt;&lt;TD&gt;03.05&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help me with that?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you !&lt;/P&gt;</description>
    <pubDate>Tue, 16 Oct 2018 17:52:16 GMT</pubDate>
    <dc:creator>dera</dc:creator>
    <dc:date>2018-10-16T17:52:16Z</dc:date>
    <item>
      <title>How to create a new row?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504806#M135143</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set containing approx. 20,000 observations. Each ID represents a&amp;nbsp;medical patient that had a medical exam. Based on the diagnosis, a code was assigned. One patient can have many codes and many exams at different date.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It looks like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;code1&lt;/TD&gt;&lt;TD&gt;code2&lt;/TD&gt;&lt;TD&gt;code3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;02.05&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-08-19&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-05-02&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2010-03-28&lt;/TD&gt;&lt;TD&gt;03.05&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&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;I am asking for your help to create observation containing the code2 and code3 value. Basically, I want to tell SAS that "if the code2 variable is not empty, take what is in the code2 variable and put it a new observation with the related date."&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;code&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2010-04-12&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2011-02-20&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;02.05&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012-08-24&lt;/TD&gt;&lt;TD&gt;01.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2012-10-10&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2015-01-27&lt;/TD&gt;&lt;TD&gt;01.09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-05-02&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;01.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2014-12-16&lt;/TD&gt;&lt;TD&gt;03.02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2010-03-28&lt;/TD&gt;&lt;TD&gt;03.05&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help me with that?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you !&lt;/P&gt;</description>
      <pubDate>Tue, 16 Oct 2018 17:52:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504806#M135143</guid>
      <dc:creator>dera</dc:creator>
      <dc:date>2018-10-16T17:52:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a new row?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504813#M135146</link>
      <description>&lt;P&gt;something like this using proc transpose or&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm='09'x missover;
input id	date:yymmdd10.	code1	code2	code3;
format date yymmdd10.;
datalines;
1	2010-04-12	01.01	01.02	 
1	2011-02-20	01.01	01.02	 
1	2012-08-24	02.05	01.01	01.02
2	2012-08-19	01.01	 	 
2	2012-10-10	01.09	01.01	 
2	2015-01-27	01.01	01.09	 
3	2014-05-02	03.02	 	 
3	2014-12-16	01.01	03.02	 
4	2010-03-28	03.05
;

proc sort data=have out=have1;
by id date;
run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;proc transpose data=have1 out=want(rename=(col1=code) drop =_name_ where=(code ne .));&lt;BR /&gt; by id date; &lt;BR /&gt;var code1 code2 code3;&lt;BR /&gt; run;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;or by array&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (drop = code1 code2 code3 i where=(code ne .));&lt;BR /&gt;set have;&lt;BR /&gt;array co(*) code1 code2 code3;&lt;BR /&gt;do i= 1 to dim(co) ; &lt;BR /&gt;code= co(i);&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Oct 2018 18:22:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504813#M135146</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-10-16T18:22:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a new row?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504817#M135148</link>
      <description>Thank you Kiranv_v! It works perfectly.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 16 Oct 2018 18:12:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-new-row/m-p/504817#M135148</guid>
      <dc:creator>dera</dc:creator>
      <dc:date>2018-10-16T18:12:14Z</dc:date>
    </item>
  </channel>
</rss>

