<?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: Merging rows by ID which isn't unique in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302257#M64099</link>
    <description>&lt;P&gt;You can try the following code, hope it can help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Assuming your datatset is called "a":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data V1;&lt;BR /&gt;set a;&lt;BR /&gt;where V1 is not missing;&lt;BR /&gt;keep ID V1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data V2;&lt;BR /&gt;set a;&lt;BR /&gt;where V2 is not missing;&lt;BR /&gt;keep ID V2;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data V3;&lt;BR /&gt;set a;&lt;BR /&gt;where V3 is not missing;&lt;BR /&gt;keep ID V3;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data a;&lt;BR /&gt;merge V1 V2 V3;&lt;BR /&gt;by ID;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc datasets nolist;&lt;/P&gt;&lt;P&gt;delete V1 V2 V3;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have more variables in the dataset similar to this pattern, just create more V&amp;lt;n&amp;gt; datasets in the same way, and then merging them in the data step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The proc dataset is used to delete those workings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Oct 2016 01:18:15 GMT</pubDate>
    <dc:creator>terrencetang</dc:creator>
    <dc:date>2016-10-05T01:18:15Z</dc:date>
    <item>
      <title>Merging rows by ID which isn't unique</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302073#M64006</link>
      <description>&lt;P&gt;Hi&lt;BR /&gt;&lt;BR /&gt;I have a following problem, what I have right now is:&lt;BR /&gt;&lt;BR /&gt;ID | V1 | V2 | V3 |&amp;nbsp;&lt;BR /&gt;----------------------&lt;BR /&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; &lt;SPAN&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp;x&amp;nbsp; |&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp;x &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp;x &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp;x &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; | x &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; | x &amp;nbsp; &lt;SPAN&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3&lt;SPAN&gt; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;3&lt;SPAN&gt; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;3&lt;SPAN&gt; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | x &amp;nbsp; |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;3&lt;SPAN&gt; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | x &amp;nbsp; |&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;4&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4&amp;nbsp; &amp;nbsp;| x &amp;nbsp; &lt;SPAN&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/SPAN&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;4&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;4&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;4&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | x &amp;nbsp; |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;4&amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; | x &amp;nbsp; | &amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;and other&amp;nbsp;variants.&lt;BR /&gt;&lt;BR /&gt;What I would like to have:&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | x &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; &lt;SPAN&gt;| x &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&amp;nbsp;x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | x &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;2&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | x &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; | x &amp;nbsp; | x &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3 &amp;nbsp; | x &amp;nbsp; &lt;SPAN&gt;| x &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&amp;nbsp;x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4&amp;nbsp; &amp;nbsp;| x &amp;nbsp; | x &amp;nbsp; &amp;nbsp;| x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4&amp;nbsp; &amp;nbsp;| x &amp;nbsp; &lt;SPAN&gt;| x &amp;nbsp; &amp;nbsp;|&lt;/SPAN&gt;&amp;nbsp;x &amp;nbsp; &amp;nbsp;|&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;I'd be grateful!&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2016 14:42:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302073#M64006</guid>
      <dc:creator>Dontik</dc:creator>
      <dc:date>2016-10-03T14:42:39Z</dc:date>
    </item>
    <item>
      <title>Re: Merging rows by ID which isn't unique</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302257#M64099</link>
      <description>&lt;P&gt;You can try the following code, hope it can help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Assuming your datatset is called "a":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data V1;&lt;BR /&gt;set a;&lt;BR /&gt;where V1 is not missing;&lt;BR /&gt;keep ID V1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data V2;&lt;BR /&gt;set a;&lt;BR /&gt;where V2 is not missing;&lt;BR /&gt;keep ID V2;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data V3;&lt;BR /&gt;set a;&lt;BR /&gt;where V3 is not missing;&lt;BR /&gt;keep ID V3;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data a;&lt;BR /&gt;merge V1 V2 V3;&lt;BR /&gt;by ID;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc datasets nolist;&lt;/P&gt;&lt;P&gt;delete V1 V2 V3;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have more variables in the dataset similar to this pattern, just create more V&amp;lt;n&amp;gt; datasets in the same way, and then merging them in the data step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The proc dataset is used to delete those workings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Oct 2016 01:18:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302257#M64099</guid>
      <dc:creator>terrencetang</dc:creator>
      <dc:date>2016-10-05T01:18:15Z</dc:date>
    </item>
    <item>
      <title>Re: Merging rows by ID which isn't unique</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302266#M64102</link>
      <description>&lt;P&gt;...or this way:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data want;
  merge 
    have(keep=id v1 where=(not missing(v1)))
    have(keep=id v2 where=(not missing(v2)))
    have(keep=id v3 where=(not missing(v3)))
    ;
  by id;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The code assumes that - like in your sample data - per id you've got always the same number of rows with a populated v1, v2 and v3.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this should not be the case with your real data then please explain to us how the desired data set should look like in such a case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2016 06:24:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-rows-by-ID-which-isn-t-unique/m-p/302266#M64102</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2016-10-04T06:24:36Z</dc:date>
    </item>
  </channel>
</rss>

