<?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: using array, first., and last. to create only one observation and multiple variables per subject in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435994#M108362</link>
    <description>&lt;P&gt;if you have few variables then one way to do this is&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;&lt;BR /&gt;create table want as &lt;BR /&gt;select id_no,&lt;BR /&gt;max(case when symptom_no = 1 then symptom end) as sympt1,&lt;BR /&gt;max(case when symptom_no = 2 then symptom end) as sympt2,&lt;BR /&gt;max(case when symptom_no = 3 then symptom end) as sympt3,&lt;BR /&gt;max(case when symptom_no = 4 then symptom end) as sympt4,&lt;BR /&gt;max(case when symptom_no = 5 then symptom end) as sympt5,&lt;BR /&gt;"0" as Disease&lt;BR /&gt;from abc&lt;BR /&gt;group by id_no;&lt;/PRE&gt;</description>
    <pubDate>Sat, 10 Feb 2018 20:57:51 GMT</pubDate>
    <dc:creator>kiranv_</dc:creator>
    <dc:date>2018-02-10T20:57:51Z</dc:date>
    <item>
      <title>using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435987#M108358</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi all!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am having trouble&amp;nbsp;using array, first., and last. to create only one observation and multiple variables per subject. The data set has&amp;nbsp;18,082 observations with 3 variables: ID_NO, SYMPTOM_NO, and SYMPTOM.&amp;nbsp;I need to keep the &lt;STRONG&gt;id_no&lt;/STRONG&gt; variable and lose the&lt;STRONG&gt; symptom_no&lt;/STRONG&gt; and &lt;STRONG&gt;symptom&lt;/STRONG&gt; variables yet create 5 variables called &lt;STRONG&gt;sympt1&lt;/STRONG&gt; (for heartburns), &lt;STRONG&gt;sympt2&lt;/STRONG&gt; (for sickness), &lt;STRONG&gt;sympt3&lt;/STRONG&gt; (for spasm), &lt;STRONG&gt;sympt4&lt;/STRONG&gt; (for temperature), and &lt;STRONG&gt;sympt5&lt;/STRONG&gt; (for tiredness), and one constant variable &lt;STRONG&gt;disease&lt;/STRONG&gt; (which is always = 0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Data set given with the 1st 15 obs:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;id_no&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;symptom_no&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;symptom&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;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&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;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&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;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&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;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;8&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;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;15&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;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Goal set up:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Obs&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;id_no&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;sympt5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;disease&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&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;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;9&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;11&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;14&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Spasm&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Temperature&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;13&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Tiredness&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;&lt;STRONG&gt;14&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;17&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Heartburns&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&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;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;19&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sickness&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the code i am using and the log error message.&lt;/P&gt;&lt;P&gt;****1.IMPORT;&lt;/P&gt;&lt;P&gt;options nodate nonumber;&lt;BR /&gt;%macro P3 (a, b, c);&lt;BR /&gt;proc import out= &amp;amp;a&lt;BR /&gt;datafile= "C:\HW5\&amp;amp;b"&lt;BR /&gt;dbms=xlsx replace;&lt;BR /&gt;getnames=yes;&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=&amp;amp;a;&lt;BR /&gt;by &amp;amp;c;&lt;BR /&gt;run;&lt;BR /&gt;Proc print data = &amp;amp;a;&lt;BR /&gt;Run;&lt;BR /&gt;%mend P3;&lt;/P&gt;&lt;P&gt;%P3 (PROJECT3_F17, Project3.xlsx, id_no);&lt;BR /&gt;***2. USE ARRAY STATEMENT ALONG WITH FIRST.ID and LAST.ID to reorganize;&lt;BR /&gt;data sympt;&lt;BR /&gt;set PROJECT3_F17;&lt;BR /&gt;retain id_no sympt_no sympt1-sympt5;&lt;BR /&gt;length sympt1-sympt5 $20;&lt;BR /&gt;array symptoms (5) sympt1-sympt5;&lt;BR /&gt;by symptom_no;&lt;BR /&gt;do i=1 to 5;&lt;BR /&gt;if first.symptom_no then symptoms(i)=sympt1;&lt;BR /&gt;else symptoms (i)=.;&lt;/P&gt;&lt;P&gt;end;&lt;BR /&gt;drop symptom symptom_no;&lt;BR /&gt;if last.symptom_no then output;&lt;BR /&gt;disease=0;&lt;BR /&gt;format id_no sympt1-sympt5 disease;&lt;BR /&gt;run;&lt;BR /&gt;proc print data=sympt;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;LOG:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;127055 options nodate nonumber;&lt;BR /&gt;127056 ****1.IMPORT;&lt;BR /&gt;127057 %macro P3 (a, b, c);&lt;BR /&gt;127058 proc import out= &amp;amp;a&lt;BR /&gt;127059 datafile= "C:\HW5\&amp;amp;b"&lt;BR /&gt;127060 dbms=xlsx replace;&lt;BR /&gt;127061 getnames=yes;&lt;BR /&gt;127062 run;&lt;BR /&gt;127063 proc sort data=&amp;amp;a;&lt;BR /&gt;127064 by &amp;amp;c;&lt;BR /&gt;127065 run;&lt;BR /&gt;127066 Proc print data = &amp;amp;a;&lt;BR /&gt;127067 Run;&lt;BR /&gt;127068 %mend P3;&lt;BR /&gt;127069&lt;BR /&gt;127070 %P3 (PROJECT3_F17, Project3.xlsx, id_no);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;NOTE: The import data set has 18082 observations and 3 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: WORK.PROJECT3_F17 data set was successfully created.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: PROCEDURE IMPORT used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;real time 0.91 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;cpu time 0.79 seconds&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;NOTE: There were 18082 observations read from the data set WORK.PROJECT3_F17.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: The data set WORK.PROJECT3_F17 has 18082 observations and 3 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: PROCEDURE SORT used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;real time 0.04 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;cpu time 0.04 seconds&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;NOTE: There were 18082 observations read from the data set WORK.PROJECT3_F17.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: PROCEDURE PRINT used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;real time 3.11 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;cpu time 2.73 seconds&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;127071 ***2.REORGANIZE variables: USE ARRAY STATEMENT ALONG WITH FIRST.ID and LAST.ID;&lt;BR /&gt;127072 data sympt;&lt;BR /&gt;127073 set PROJECT3_F17;&lt;BR /&gt;127074 retain id_no sympt_no sympt1-sympt5;&lt;BR /&gt;127075 length sympt1-sympt5 $20;&lt;BR /&gt;127076 array symptoms (5) sympt1-sympt5;&lt;BR /&gt;127077 *array v (5) symptom_no;&lt;BR /&gt;127078 by symptom_no;&lt;BR /&gt;127079 do i=1 to 5;&lt;BR /&gt;127080 if first.symptom_no then symptoms(i)=sympt1;&lt;BR /&gt;127081 *else symptoms (i) = .;&lt;BR /&gt;127082 else symptoms (i)=.;&lt;BR /&gt;127083&lt;BR /&gt;127084 end;&lt;BR /&gt;127085 drop symptom symptom_no;&lt;BR /&gt;127086 if last.symptom_no then output;&lt;BR /&gt;127087 *if symptoms (i) = Heartburns then symptoms (i)= sympt1;&lt;BR /&gt;127088 *if symptoms (i) = Sickness then symptoms (i)= sympt2;&lt;BR /&gt;127089 *if symptoms (i) = Spasm then symptoms (i)= sympt3;&lt;BR /&gt;127090 *if symptoms (i) = Temperature then symptoms (i)= sympt4;&lt;BR /&gt;127091 *if symptoms (i) = Tiredness then symptoms (i)= sympt5;&lt;BR /&gt;127092 *else symptoms (i) = .;&lt;BR /&gt;127093 *end;&lt;BR /&gt;127094 disease=0;&lt;BR /&gt;127095 format id_no sympt1-sympt5 disease;&lt;BR /&gt;127096 *data sympt2;&lt;BR /&gt;127097 *set sympt;&lt;BR /&gt;127098 run;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;NOTE: Numeric values have been converted to character values at the places given by:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;(Line):(Column).&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;127082:14&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: Variable sympt_no is uninitialized.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;ERROR: BY variables are not properly sorted on data set WORK.PROJECT3_F17.&lt;/FONT&gt;&lt;BR /&gt;id_no=4 symptom_no=5 symptom=Tiredness sympt1= sympt2= sympt3= sympt4= sympt5=&lt;BR /&gt;FIRST.symptom_no=1 LAST.symptom_no=1 i=. disease=. _ERROR_=1 _N_=3&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: There were 4 observations read from the data set WORK.PROJECT3_F17.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;WARNING: The data set WORK.SYMPT may be incomplete. When this step was stopped there were 2&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;observations and 8 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;WARNING: Data set WORK.SYMPT was not replaced because this step was stopped.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;real time 0.46 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;cpu time 0.09 seconds&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;127099 proc print data=sympt;&lt;BR /&gt;127100 run;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;NOTE: No observations in data set WORK.SYMPT.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;NOTE: PROCEDURE PRINT used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;real time 0.00 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;cpu time 0.00 seconds&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help!&lt;/P&gt;</description>
      <pubDate>Sat, 10 Feb 2018 20:19:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435987#M108358</guid>
      <dc:creator>aespinarey</dc:creator>
      <dc:date>2018-02-10T20:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435991#M108360</link>
      <description>&lt;P&gt;looking &lt;STRONG&gt;only&lt;/STRONG&gt; at your sample, makes me want to do it this way:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id_no	symptom_no	symptom :$15.;
datalines;
1	1	Heartburns
1	2	Sickness
4	5	Tiredness
6	1	Heartburns
7	4	Temperature
8	1	Heartburns
8	5	Tiredness
9	2	Sickness
9	3	Spasm
9	4	Temperature
10	3	Spasm
10	5	Tiredness
11	3	Spasm
11	5	Tiredness
12	4	Temperature
12	5	Tiredness
13	3	Spasm
13	4	Temperature
14	3	Spasm
15	1	Heartburns
;

proc transpose data=have out=want(drop=_name_) ;
by id_no;
var symptom;
id symptom;
run;

data final_want;
set want;
disease=0;
run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 10 Feb 2018 20:29:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435991#M108360</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-02-10T20:29:09Z</dc:date>
    </item>
    <item>
      <title>Re: using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435994#M108362</link>
      <description>&lt;P&gt;if you have few variables then one way to do this is&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;&lt;BR /&gt;create table want as &lt;BR /&gt;select id_no,&lt;BR /&gt;max(case when symptom_no = 1 then symptom end) as sympt1,&lt;BR /&gt;max(case when symptom_no = 2 then symptom end) as sympt2,&lt;BR /&gt;max(case when symptom_no = 3 then symptom end) as sympt3,&lt;BR /&gt;max(case when symptom_no = 4 then symptom end) as sympt4,&lt;BR /&gt;max(case when symptom_no = 5 then symptom end) as sympt5,&lt;BR /&gt;"0" as Disease&lt;BR /&gt;from abc&lt;BR /&gt;group by id_no;&lt;/PRE&gt;</description>
      <pubDate>Sat, 10 Feb 2018 20:57:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435994#M108362</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-02-10T20:57:51Z</dc:date>
    </item>
    <item>
      <title>Re: using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435998#M108366</link>
      <description>&lt;P&gt;I'd do it as follows:&lt;/P&gt;
&lt;PRE&gt;data sympt (drop=symptom_no symptom);
  set PROJECT3_F17;
  retain sympt1-sympt5;
  retain disease 0;
  length sympt1-sympt5 $15;
  array symptoms (5) $15. sympt1-sympt5;
  by id_no;
  if first.id_no then call missing(of symptoms(*));
  symptoms(symptom_no)=symptom;
  if last.id_no then output;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 10 Feb 2018 20:59:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435998#M108366</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-02-10T20:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435999#M108367</link>
      <description>&lt;P&gt;Good afternoon&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;I did think of your approach however, should the number of symptoms changes, you are gonna have somebody in prod support team to change to the array subsript right? or perhaps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;would you take a max(count distinct symptoms) into array_num and call it as array subscript to make it dynamic?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the only concern. Not a big deal but just in case&lt;/P&gt;</description>
      <pubDate>Sat, 10 Feb 2018 21:03:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/435999#M108367</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-02-10T21:03:49Z</dc:date>
    </item>
    <item>
      <title>Re: using array, first., and last. to create only one observation and multiple variables per subject</title>
      <link>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/436005#M108371</link>
      <description>&lt;P&gt;Thank you! it worked perfectly!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 10 Feb 2018 21:32:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/using-array-first-and-last-to-create-only-one-observation-and/m-p/436005#M108371</guid>
      <dc:creator>aespinarey</dc:creator>
      <dc:date>2018-02-10T21:32:58Z</dc:date>
    </item>
  </channel>
</rss>

