<?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: Merge duplicate records in SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95858#M257730</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;In this case I suggest you MERGE the first participant record with selected columns from the last record, in a data step.&amp;nbsp; I am making the following assumptions: that the unique id for each participant is the column &lt;STRONG&gt;study_id&lt;/STRONG&gt; and the sequence is &lt;STRONG&gt;DRAWVISIT&lt;/STRONG&gt;; the records are not necessarily in that order; that on occasions more than two records might be encountered (Bond: “Never Say Never”); and only the first and last records per participant are of interest.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;So the first step is to sort the data into the order you want, the OUT= option will ensure that the original data order is undisturbed:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Proc Sort&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; &lt;EM&gt;StudyData&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Out =&amp;nbsp;&amp;nbsp; SortedData&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRAWVISIT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;Now split the data into two sets, Initial and Final, containing the first and last records for each participant, respectively.&amp;nbsp; In the case of one visit only, the records will go into Initial.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp; Initial&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Final&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortedData ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; First.study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then&amp;nbsp; Output&amp;nbsp; Initial ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp; Last.study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Output&amp;nbsp; Final ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;For the Final dataset you need to have a KEEP list that will include study_id and all the variables you want to overwrite in the Initial dataset.&amp;nbsp; I suggest you include DRAWVISIT because that will be an indicator that the record you save is a merged record (DRAWVISIT &amp;gt; 1).&amp;nbsp; For example, using the information provided, your KEEP list would include QFT1MLTBAG and QFT1MLMIT.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;Now merge Initial and Final and voila!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp; MergedData ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Merge&amp;nbsp;&amp;nbsp; Initial&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Final (Keep = study_id DRAWVISIT QFT1MLTBAG QFT1MLMIT /* more as required */)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;This method will preserve the original column order.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;The method can be extended if you want maximum, minimum or mean values from each draw visit;&amp;nbsp; let me know.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Oct 2012 23:56:54 GMT</pubDate>
    <dc:creator>RichardinOz</dc:creator>
    <dc:date>2012-10-15T23:56:54Z</dc:date>
    <item>
      <title>Merge duplicate records in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95857#M257729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have lab data for a study I am managing and when we draw blood sometime the blood draw is not complete so the participant has to return for a second visit and the blood is re-drawn. When this happens we have 2 records in out lab database, one for the first blood draw, and one for the second. how do I merge the two records together in SAS to get one complete record? I am providing an example of the the data below. Both of these records would be an example of data for the same participants. I would want to fill in the first record mostly for the variables "&lt;SPAN style="font-family: Calibri; font-size: 11px;"&gt;QFT1MLTBAG" and "&lt;SPAN style="font-family: Calibri; font-size: 11px;"&gt;QFT1MLMIT" because thos are the most important variables. I would also want to create new variables called "secdrawdate" that has the date from the "phlebdate" variable for for second visit(second record or "drawvisit=2"). After this is done I would like to delete the second record to only have one record for each participant.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help you can provide would be greatly appreciated because I have been trying to figure this out for a while. Thank you in advance! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE cellpadding="0" cellspacing="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;datadate&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;dataentrd&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;fkey&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;globalrecordid&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;hxhcvtest&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;hxhivtest&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;hxtest&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;n10mledta&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;n5mlspp&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;phlebcomments&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;phlebdate&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;phlebredraw&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;phlebstorage&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;qftmitog&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;qftnil&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;qfttbag&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;recstatus&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;study_id&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;uniquekey&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;venue&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;visit&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;DRAWVISIT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;QFT1MLNIL&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;QFT1MLTBAG&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;QFT1MLMIT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;N5MLSSP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;PHLEBSTORG&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;7/20/2012 12:00:00 AM&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;True&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;a30f6802-8098-4405-8a5e-09f366eeb6b8&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD colspan="2" style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;6/14/2012 12:00:00 AM&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;1234&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;99&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;7/20/2012 12:00:00 AM&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;True&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;f783c269-89d0-48ce-8440-2b4df5b28969&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD colspan="2" style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;6/22/2012 12:00:00 AM&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;0&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="font-size: 11px; font-family: Calibri;"&gt;1234&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;56&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-style: solid; border-width: 1.0px; border-color: #cbcbcb #cbcbcb #cbcbcb #cbcbcb; padding: 0.0px 5.0px 0.0px 5.0px;" valign="middle"&gt;&lt;P style="text-align: right; font-size: 11px; font-family: Calibri;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2012 20:34:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95857#M257729</guid>
      <dc:creator>rfarmenta</dc:creator>
      <dc:date>2012-10-15T20:34:50Z</dc:date>
    </item>
    <item>
      <title>Re: Merge duplicate records in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95858#M257730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;In this case I suggest you MERGE the first participant record with selected columns from the last record, in a data step.&amp;nbsp; I am making the following assumptions: that the unique id for each participant is the column &lt;STRONG&gt;study_id&lt;/STRONG&gt; and the sequence is &lt;STRONG&gt;DRAWVISIT&lt;/STRONG&gt;; the records are not necessarily in that order; that on occasions more than two records might be encountered (Bond: “Never Say Never”); and only the first and last records per participant are of interest.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;So the first step is to sort the data into the order you want, the OUT= option will ensure that the original data order is undisturbed:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Proc Sort&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; &lt;EM&gt;StudyData&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Out =&amp;nbsp;&amp;nbsp; SortedData&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRAWVISIT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;Now split the data into two sets, Initial and Final, containing the first and last records for each participant, respectively.&amp;nbsp; In the case of one visit only, the records will go into Initial.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp; Initial&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Final&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortedData ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; First.study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then&amp;nbsp; Output&amp;nbsp; Initial ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp; Last.study_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Output&amp;nbsp; Final ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run&lt;/SPAN&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;For the Final dataset you need to have a KEEP list that will include study_id and all the variables you want to overwrite in the Initial dataset.&amp;nbsp; I suggest you include DRAWVISIT because that will be an indicator that the record you save is a merged record (DRAWVISIT &amp;gt; 1).&amp;nbsp; For example, using the information provided, your KEEP list would include QFT1MLTBAG and QFT1MLMIT.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;Now merge Initial and Final and voila!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp; MergedData ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Merge&amp;nbsp;&amp;nbsp; Initial&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Final (Keep = study_id DRAWVISIT QFT1MLTBAG QFT1MLMIT /* more as required */)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; study_id ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Lucida Console'; background-color: white;"&gt;Run ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;This method will preserve the original column order.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9pt; font-family: 'Helvetica Neue'; background-color: white;"&gt;The method can be extended if you want maximum, minimum or mean values from each draw visit;&amp;nbsp; let me know.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2012 23:56:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95858#M257730</guid>
      <dc:creator>RichardinOz</dc:creator>
      <dc:date>2012-10-15T23:56:54Z</dc:date>
    </item>
    <item>
      <title>Re: Merge duplicate records in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95859#M257731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you! This did exactly what I needed it to do! I had played around with similar code but couldn't get it to work properly! I appreciate your help! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2012 05:52:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-duplicate-records-in-SAS/m-p/95859#M257731</guid>
      <dc:creator>rfarmenta</dc:creator>
      <dc:date>2012-10-16T05:52:41Z</dc:date>
    </item>
  </channel>
</rss>

