<?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: proc sql to obtain individual level data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467360#M119302</link>
    <description>&lt;P&gt;Thank you both!&lt;/P&gt;</description>
    <pubDate>Mon, 04 Jun 2018 12:22:40 GMT</pubDate>
    <dc:creator>avepo</dc:creator>
    <dc:date>2018-06-04T12:22:40Z</dc:date>
    <item>
      <title>proc sql to obtain individual level data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467140#M119231</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a dataset that I want to generate individual level dataset. I could do this by proc sort, data (retain, first.id) but I think proc sql would be more efficient in coding (some may not agree with this). Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently I have&lt;/P&gt;&lt;P&gt;ID &amp;nbsp;&amp;nbsp; flag1 flag2&amp;nbsp; flag3&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would want the output to look like&lt;/P&gt;&lt;P&gt;ID &amp;nbsp;&amp;nbsp; flag1 flag2&amp;nbsp; flag3&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 02 Jun 2018 18:09:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467140#M119231</guid>
      <dc:creator>avepo</dc:creator>
      <dc:date>2018-06-02T18:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql to obtain individual level data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467141#M119232</link>
      <description>&lt;P&gt;something like&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;select&amp;nbsp;&lt;SPAN&gt;ID ,&amp;nbsp; &amp;nbsp;max(flag1) as flag1, max( flag2 ) as flag2, max(flag3) as flag3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;from have&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;group by id;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 02 Jun 2018 18:16:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467141#M119232</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-06-02T18:16:34Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql to obtain individual level data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467143#M119233</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/209955"&gt;@avepo&lt;/a&gt;&amp;nbsp;In my humble opinion, i would think you are better off using proc means/summary as you can take advantage of using variable lists and not bother typing max(var) one by one forever if you happen to have numerous flag vars.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also it helps lazy people like me at best&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID    flag1 flag2  flag3;
cards;
1     1       0         1
1     0       1         0
2     1       1         0
2     0        1        0
;

proc means data=have nway noprint;
class id;
var flag:;
output out=want(drop=_:) max=;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 02 Jun 2018 18:35:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467143#M119233</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-02T18:35:37Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql to obtain individual level data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467360#M119302</link>
      <description>&lt;P&gt;Thank you both!&lt;/P&gt;</description>
      <pubDate>Mon, 04 Jun 2018 12:22:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-to-obtain-individual-level-data/m-p/467360#M119302</guid>
      <dc:creator>avepo</dc:creator>
      <dc:date>2018-06-04T12:22:40Z</dc:date>
    </item>
  </channel>
</rss>

