<?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: calcuate new field from duplicated obs in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327564#M73073</link>
    <description>&lt;P&gt;The average is easy. Do you not care what which of the duplicates is kept? Based on your example, it looks like you want the dup that has the "B1" value, correct?&lt;/P&gt;</description>
    <pubDate>Wed, 25 Jan 2017 22:29:04 GMT</pubDate>
    <dc:creator>collinelliot</dc:creator>
    <dc:date>2017-01-25T22:29:04Z</dc:date>
    <item>
      <title>calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327560#M73072</link>
      <description>&lt;P&gt;Hi,&amp;nbsp; I have a list of accounts (some with duplicated rows by account # only), and I want to&amp;nbsp;calculate an average between the duplicates (based on balance) and then delete one of the duplicates.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HAVE:&lt;/P&gt;
&lt;P&gt;Acct_No&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bor&amp;nbsp;&amp;nbsp; &amp;nbsp;Fld1&amp;nbsp;&amp;nbsp; Bal&amp;nbsp;&amp;nbsp;&amp;nbsp; Score&amp;nbsp;&amp;nbsp;&amp;nbsp; Fld2&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#000080"&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 465&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#000080"&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 837&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#800000"&gt;156&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 129&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 835&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#800000"&gt;156&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 985&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 293&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;189&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;938&lt;/P&gt;
&lt;P&gt;199&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 891&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;922&lt;/P&gt;
&lt;P&gt;My list has 200,000 accounts, but showing only a few for the sample.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;WANT:&amp;nbsp; (keep all info ffrom B1, except the 2 averages -&amp;gt; Bal and Score from both B1 and B2)&lt;/P&gt;
&lt;P&gt;Acct_No&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bor&amp;nbsp;&amp;nbsp; &amp;nbsp;Fld1&amp;nbsp;&amp;nbsp; Bal&amp;nbsp;&amp;nbsp;&amp;nbsp; Score&amp;nbsp;&amp;nbsp;&amp;nbsp; Fld2&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#000080"&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;295&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 465&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;-(using the average of the 2 rows for both Bal and Score)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#800000"&gt;156&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;72.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;557&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 835&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="#000000"&gt;&amp;lt;-(using the average of the 2 rows for both Bal and Score)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;189&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;938&lt;/P&gt;
&lt;P&gt;199&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 891&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;922&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2017 22:13:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327560#M73072</guid>
      <dc:creator>podarum</dc:creator>
      <dc:date>2017-01-25T22:13:45Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327564#M73073</link>
      <description>&lt;P&gt;The average is easy. Do you not care what which of the duplicates is kept? Based on your example, it looks like you want the dup that has the "B1" value, correct?&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2017 22:29:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327564#M73073</guid>
      <dc:creator>collinelliot</dc:creator>
      <dc:date>2017-01-25T22:29:04Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327566#M73074</link>
      <description>&lt;P&gt;I guess I can give you a shot at a solution assuming that's the case...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Untested, though.&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;proc sql;
&amp;nbsp; &amp;nbsp; CREATE TABLE want AS
&amp;nbsp; &amp;nbsp; SELECT acct_no, bor, fld1, mean(bal) AS bal, score, fld2
&amp;nbsp; &amp;nbsp; FROM have
&amp;nbsp; &amp;nbsp; GROUP BY acct_no
&amp;nbsp; &amp;nbsp; HAVING max(bor='B1') = 1;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 25 Jan 2017 22:31:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327566#M73074</guid>
      <dc:creator>collinelliot</dc:creator>
      <dc:date>2017-01-25T22:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327567#M73075</link>
      <description>&lt;P&gt;You didn't say what you wanted when there are more than two matching records.&amp;nbsp; I presume you still want to keep only one record per group (untested code).&amp;nbsp; And that one record, in addition to having averages also keeps the FIRST instance of the variables not being averaged.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Untested:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want (drop=i n sum:);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; array sum {3};&lt;/P&gt;
&lt;P&gt;&amp;nbsp; array var{3} bal score fld2;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; do n=1 by 1 until (last.acct_no);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by acct_no;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(sum);&amp;nbsp;&amp;nbsp; /*always wanted to say that in a sas program&amp;nbsp;*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum{i}=sum(sum{i},var{i});&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; do until (last.acct_no);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.acct_no then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(sum);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var{i}=sum{i}/n;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2017 22:31:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327567#M73075</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-01-25T22:31:56Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327570#M73076</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want (drop=_:);
  set have;
  by acct_no;
  retain _bor _fld1 _fld2;
  if first.acct_no then do;
    if last.acct_no then output;
    else do;
      _bor=bor;
      _fld1=fld1;
      _bal=bal;
      _score=score;
      _fld2=fld2;
      _n=1;
    end;
  end;
  else do;
    _bal+bal;
    _score+score;
    _n+1;
    if last.acct_no then do;
      bor=_bor;
      fld1=_fld1;
      bal=_bal/_n;
      score=_score/_n;
      fld2=_fld2;
      output;
    end;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;HTH,&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2017 22:40:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327570#M73076</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-01-25T22:40:47Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327578#M73077</link>
      <description>&lt;P&gt;Minor tweak, but this give you the output desired (though that might not be specifically what you want).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Acct_No Bor $ Fld1 $ Bal Score Fld2;
datalines;
123 B1 A 34 234 465
123 B2 A 40 356 837
156 B1 G 68 129 835
156 B2 G 77 985 293
189 B1 D 34 356 938
199 B1 E 45 891 922
;

proc sql;
    CREATE TABLE want AS
    SELECT DISTINCT acct_no, bor, fld1, mean(bal) AS bal, score, fld2
    FROM have
    GROUP BY acct_no
    HAVING max(bor='B1') = (bor='B1');
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 25 Jan 2017 23:00:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327578#M73077</guid>
      <dc:creator>collinelliot</dc:creator>
      <dc:date>2017-01-25T23:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327591#M73081</link>
      <description>&lt;P&gt;A different approach to the problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Acct_No Bor $ Fld1 $ Bal Score Fld2;
datalines;
123 B1 A 34 234 465
123 B2 A 40 356 837
156 B1 G 68 129 835
156 B2 G 77 985 293
189 B1 D 34 356 938
199 B1 E 45 891 922
;
run ;

data test1 test2 ;
set have ;
by Acct_No ;
if first.Acct_No = 1  then output test1 ;
if  last.Acct_No = 1 then output test2 ;
run ;

proc sql ;
select test1.Acct_No,test1.Bor,test1.Fld1,test1.Bal,((test1.Score+test2.Score)/2) as Score,test1.fld2
from test1 as test1
inner join test2 as test2
on test1.acct_no = test2.acct_no ;
quit ;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 26 Jan 2017 00:15:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327591#M73081</guid>
      <dc:creator>anoopmohandas7</dc:creator>
      <dc:date>2017-01-26T00:15:27Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327595#M73083</link>
      <description>&lt;P&gt;As a "not a SQL guy", I would just replace all of them:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc summary data=have;&lt;/P&gt;
&lt;P&gt;by acct;&lt;/P&gt;
&lt;P&gt;var score fld2;&lt;/P&gt;
&lt;P&gt;output out=stats (keep=acct score fld2) mean=;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If there was only one observation per acct, it doesn't hurt to replace values with the mean. &amp;nbsp;Then merge back in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;merge have (drop=score fld2) stats;&lt;/P&gt;
&lt;P&gt;by acct;&lt;/P&gt;
&lt;P&gt;if first.acct;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2017 00:28:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327595#M73083</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-01-26T00:28:56Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327608#M73085</link>
      <description>&lt;P&gt;I didn't think it mattered, but I should of stated the whole story... There are about 300 fields in the dataset, didn't want to state them all, most of them are different between Bor1 and Bor2, but I still want to keep all the info from Bor1.&amp;nbsp; Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2017 01:41:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327608#M73085</guid>
      <dc:creator>podarum</dc:creator>
      <dc:date>2017-01-26T01:41:03Z</dc:date>
    </item>
    <item>
      <title>Re: calcuate new field from duplicated obs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327631#M73098</link>
      <description>&lt;P&gt;I'm not sure if the SQL approach expands easily to a large number of fields, unless you apply macro language. &amp;nbsp;But PROC SUMMARY still makes it easy:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc summary data=have;&lt;/P&gt;
&lt;P&gt;by acct;&lt;/P&gt;
&lt;P&gt;var _numeric_;&lt;/P&gt;
&lt;P&gt;output out=stats (drop=_type_ _freq_) mean=;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;merge have (keep=acct bor fld1) stats;&lt;/P&gt;
&lt;P&gt;by acct;&lt;/P&gt;
&lt;P&gt;if first.acct;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2017 03:11:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calcuate-new-field-from-duplicated-obs/m-p/327631#M73098</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-01-26T03:11:13Z</dc:date>
    </item>
  </channel>
</rss>

