<?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: Aggregation Group by provide duplicated records in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744808#M233385</link>
    <description>&lt;P&gt;Ok Thanks. I check and so it apparently had the space in Group. But anyway, any chance I can use first name (or last name) observation of Group (in case all Group values are not perfectly matched)?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 31 May 2021 17:47:17 GMT</pubDate>
    <dc:creator>vietlinh12hoa</dc:creator>
    <dc:date>2021-05-31T17:47:17Z</dc:date>
    <item>
      <title>Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744802#M233382</link>
      <description>&lt;P&gt;I have a table&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Revenue&amp;quot;}"&gt;Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:100}"&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:50}"&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:200}"&gt;200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:100}"&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to sum aggregation by proc sql, like:&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Total Revenue&amp;quot;}"&gt;Total Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
        select 
             Group, sum(Revenue) as Total_Revenue
        from mytable group by Group
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;However, it produces duplicates records:&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Total Revenue&amp;quot;}"&gt;Total Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course, there are couple of solution like NOMERGE SQL (not always work) or SORT NODUPKEY. But I wonder any efficient and direct way, something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
        select 
             first(Group), # Take the first name record in the Group 
             sum(Revenue) as Total_Revenue
        from mytable group by Group
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 May 2021 17:16:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744802#M233382</guid>
      <dc:creator>vietlinh12hoa</dc:creator>
      <dc:date>2021-05-31T17:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744803#M233383</link>
      <description>&lt;P&gt;Either your GROUP variable values are not exact because of leading spaces or invisible characters, but this should work as expected. What do you get if you run the following on the same data set. Please show the log from your original code and this.&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 freq data=mytable;
table group;
weight revenue;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that I cannot replicate your issue either:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
input Group $	Revenue;
cards;
A,	100
A,	50
B,	200
B,	100
;;;;

proc sql;
     create table want as
        select 
             Group, sum(Revenue) as Total_Revenue
        from have group by Group
;quit;

proc print data=want;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This generates the table shown in your original post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Log:&lt;/P&gt;
&lt;PRE&gt; 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 68         
 69         data have;
 70         infile cards dlm=',';
 71         input Group $Revenue;
 72         cards;
 
 NOTE: The data set WORK.HAVE has 4 observations and 2 variables.
 NOTE: DATA statement used (Total process time):
       real time           0.00 seconds
       user cpu time       0.00 seconds
       system cpu time     0.00 seconds
       memory              524.12k
       OS Memory           24740.00k
       Timestamp           05/31/2021 05:23:57 PM
       Step Count                        45  Switch Count  2
       Page Faults                       0
       Page Reclaims                     126
       Page Swaps                        0
       Voluntary Context Switches        10
       Involuntary Context Switches      0
       Block Input Operations            0
       Block Output Operations           264
       
 77         ;;;;
 
 78         
 79         proc sql;
 80              create table want as
 81                 select
 82                      Group, sum(Revenue) as Total_Revenue
 83                 from have group by Group
 84         ;
 &lt;FONT size="4" color="#FF0000"&gt;&lt;STRONG&gt;NOTE: Table WORK.WANT created, with 2 rows and 2 columns.&lt;/STRONG&gt;&lt;/FONT&gt;
 
 84       !  quit;
 NOTE: PROCEDURE SQL used (Total process time):
       real time           0.00 seconds
       user cpu time       0.01 seconds
       system cpu time     0.00 seconds
       memory              5433.81k
       OS Memory           29864.00k
       Timestamp           05/31/2021 05:23:57 PM
       Step Count                        46  Switch Count  2
       Page Faults                       0
       Page Reclaims                     219
       Page Swaps                        0
       Voluntary Context Switches        10
       Involuntary Context Switches      0
       Block Input Operations            0
       Block Output Operations           272&lt;/PRE&gt;
&lt;LI-SPOILER&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/380957"&gt;@vietlinh12hoa&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have a table&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Revenue&amp;quot;}"&gt;Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:100}"&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:50}"&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:200}"&gt;200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:100}"&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to sum aggregation by proc sql, like:&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Total Revenue&amp;quot;}"&gt;Total Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
        select 
             Group, sum(Revenue) as Total_Revenue
        from mytable group by Group
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;However, it produces duplicates records:&lt;/P&gt;
&lt;TABLE dir="ltr" border="1" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="100" /&gt;&lt;COL width="100" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Group&amp;quot;}"&gt;Group&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;Total Revenue&amp;quot;}"&gt;Total Revenue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;A&amp;quot;}"&gt;A&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:150}"&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:2,&amp;quot;2&amp;quot;:&amp;quot;B&amp;quot;}"&gt;B&lt;/TD&gt;
&lt;TD data-sheets-value="{&amp;quot;1&amp;quot;:3,&amp;quot;3&amp;quot;:300}"&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course, there are couple of solution like NOMERGE SQL (not always work) or SORT NODUPKEY. But I wonder any efficient and direct way, something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
        select 
             first(Group), # Take the first name record in the Group 
             sum(Revenue) as Total_Revenue
        from mytable group by Group
;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 May 2021 17:24:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744803#M233383</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-05-31T17:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744806#M233384</link>
      <description>FYI this would happen if you also had a "Select  *"  or another column/variable in the query that isn't in your GROUP BY or in an aggregation statement. But that means your query wouldn't match what you've shown us.</description>
      <pubDate>Mon, 31 May 2021 17:26:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744806#M233384</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-05-31T17:26:18Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744808#M233385</link>
      <description>&lt;P&gt;Ok Thanks. I check and so it apparently had the space in Group. But anyway, any chance I can use first name (or last name) observation of Group (in case all Group values are not perfectly matched)?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 May 2021 17:47:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744808#M233385</guid>
      <dc:creator>vietlinh12hoa</dc:creator>
      <dc:date>2021-05-31T17:47:17Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744809#M233386</link>
      <description>The differences would cause them to be considered different groups, so first/last would not work. FIRST/LAST are data step concepts that do not overlap with SQL anyways. &lt;BR /&gt;&lt;BR /&gt;You can try to use COMPRESS() or TRIM() within a query.&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;     create table want as&lt;BR /&gt;        select &lt;BR /&gt;             compress(Group) as group, sum(Revenue) as Total_Revenue&lt;BR /&gt;        from have group by compress(Group)&lt;BR /&gt;;quit;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 31 May 2021 17:52:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744809#M233386</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-05-31T17:52:10Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744814#M233388</link>
      <description>&lt;P&gt;Just for fun, you can have both situations generated in one data step &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
input Group $	Revenue;
cards;
A,	100
A,	50
B,	200
B,	100
;;;;
run;

data want1 want2;
  do _N_=1 by 1 until(last.group);
    set have;
    by group;
    Total_Revenue + Revenue;
  end;

  do _N_ = 1 to _N_;
    set have;
    output want1;
  end;
  output want2;
  Total_Revenue=.;
run;

proc print data = want1;
run;
proc print data = want2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Mon, 31 May 2021 19:00:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744814#M233388</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2021-05-31T19:00:48Z</dc:date>
    </item>
    <item>
      <title>Re: Aggregation Group by provide duplicated records</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744920#M233438</link>
      <description>It should not be, there is some clause you didn't posted.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;        select &lt;BR /&gt;            DISTINCT  Group, sum(Revenue) as Total_Revenue&lt;BR /&gt;        from mytable group by Group&lt;BR /&gt;;quit;</description>
      <pubDate>Tue, 01 Jun 2021 12:57:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Aggregation-Group-by-provide-duplicated-records/m-p/744920#M233438</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-06-01T12:57:21Z</dc:date>
    </item>
  </channel>
</rss>

