<?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: How to add all values of a variable within each ID by year? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736564#M229478</link>
    <description>&lt;P&gt;When we ask you to post data in a data step with datalines, we mean this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ Year Case $ Expenditure Type $;
datalines;
1 1 1 100 1
1 1 2 200 1
1 1 3 300 2
2 1 4 400 1
2 1 5 . .
2 1 6 500 2
3 1 7 600 2
4 1 8 100 1
1 2 9 100 1
1 2 10  200 2
1 2 11  300 1
2 2 12  400 1
2 2 13  500 2
2 2 14  600 2
3 2 15  . .
4 2 16  . .
1 3 17  100 1
1 3 18  200 1
1 3 19  300 2
2 3 20  400 2
2 3 21  500 1
2 3 22  600 2
3 3 23  . .
4 3 24  100 1
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Why do we want this?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;It is easy to recreate the dataset by just copy/pasting the code&lt;/LI&gt;
&lt;LI&gt;all attributes are defined clearly and leave no doubt about types, formats, ...&lt;/LI&gt;
&lt;LI&gt;because of this, the solution process will be speeded up significantly&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;It's not rocket science, and the skill to create datasets on the fly in code is very useful, as you will find out in your future work. Help us to help you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From this dataset, I did this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* summarize by id and year */
proc summary data=have nway;
class id year;
var expenditure;
output out=want sum()=;
run;

/* filter out entries with too many missing values */
proc sql;
create table filtered as
  select *
  from want
  where id in (
    select id from want group by id having count(expenditure) &amp;gt; 1
  )
;
quit;

/* create a prefix for the column headers */
proc format;
picture header
  low-high = "09" (prefix="Total_expenditure_year")
;
run;

/* create the report */
proc report data=filtered;
column id expenditure,year;
define id / group;
define year / "" across format=header.;
define expenditure / "" analysis;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 23 Apr 2021 09:34:46 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2021-04-23T09:34:46Z</dc:date>
    <item>
      <title>How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736546#M229464</link>
      <description>&lt;P&gt;Hi all. I am currently working with a panel data and would like to find the total expenditure of each individuals for each year The data has a list of all purchases and the expenditure for each purchase is listed separately.&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Expenditure_year1&lt;/TD&gt;&lt;TD&gt;Case&lt;/TD&gt;&lt;TD&gt;Expenditure_year2&lt;/TD&gt;&lt;TD&gt;Case&lt;/TD&gt;&lt;TD&gt;Expenditure_year3&lt;/TD&gt;&lt;TD&gt;Case&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Total_expenditure_year1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;Total_expenditure_year2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;Total_expenditure_year3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Since ID 3 does not have any observation in year 2 and year 3, I would like ID 3 excluded. However for the missing value in year 1 for ID 2, I would like to skip over just that observation and still have the rest added. The resulting table would look something like the second table. If the ID is like ID 4, in which it has an observation for 2 years but maybe didn't make any purchase in year 2 to have missing value, I would like it to replaced with 0 and have the yearly expenditure show up as 0 in the final result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If possible I would like to set up a plot for each ID their trend in expenditure by year afterwards. The X-axis would be years (1,2,3) and U=Y-axis would be total_expenditure for each year.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 05:38:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736546#M229464</guid>
      <dc:creator>ercksh8</dc:creator>
      <dc:date>2021-04-23T05:38:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736548#M229466</link>
      <description>&lt;P&gt;Please post data in usable form.&lt;/P&gt;
&lt;P&gt;Is the structure of the first table your starting point or is this a result after some steps of processing?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 06:01:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736548#M229466</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-04-23T06:01:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736549#M229467</link>
      <description>&lt;P&gt;This is after merging each year's data by ID.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 06:04:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736549#M229467</guid>
      <dc:creator>ercksh8</dc:creator>
      <dc:date>2021-04-23T06:04:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736556#M229472</link>
      <description>&lt;P&gt;Your "have" dataset is not possible. You cannot have three columns with the same name (Case).&lt;/P&gt;
&lt;P&gt;Please post your&amp;nbsp;&lt;EM&gt;real&lt;/EM&gt; dataset in its&amp;nbsp;&lt;EM&gt;real&lt;/EM&gt;&amp;nbsp;layout in a &lt;EM&gt;data step with datalines&lt;/EM&gt; (&lt;STRONG&gt;do not skip this!&lt;/STRONG&gt;), so we really know what you are talking about.&lt;/P&gt;
&lt;P&gt;In particular, I suspect that you start with untransposed data, which is much easier to handle. If not, transposing to a long layout will help in further processing.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 07:36:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736556#M229472</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-23T07:36:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736557#M229473</link>
      <description>&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Case&lt;/TD&gt;&lt;TD&gt;Expenditure&lt;/TD&gt;&lt;TD&gt;Type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Sorry. I was trying to simplify my data and didn't realize I uploaded it that way. I included cases because when I attempted, I realized that instead of giving me a data that had one cost observation for each year, it gave me the total cost value on each observation. I was hoping there would be a way to simplify this. The reason I kept case in was because I was hoping to identify the total expenditure by the types of purchase later on and it was on a separate data table that was sorted by case and did not have the ID variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code I tried looked something like this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
     create table A as
     select ID, year, case, expenditure, type, sum(expenditure) as total_expenditure
     from original
     group by ID;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Apr 2021 08:17:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736557#M229473</guid>
      <dc:creator>ercksh8</dc:creator>
      <dc:date>2021-04-23T08:17:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736564#M229478</link>
      <description>&lt;P&gt;When we ask you to post data in a data step with datalines, we mean this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID $ Year Case $ Expenditure Type $;
datalines;
1 1 1 100 1
1 1 2 200 1
1 1 3 300 2
2 1 4 400 1
2 1 5 . .
2 1 6 500 2
3 1 7 600 2
4 1 8 100 1
1 2 9 100 1
1 2 10  200 2
1 2 11  300 1
2 2 12  400 1
2 2 13  500 2
2 2 14  600 2
3 2 15  . .
4 2 16  . .
1 3 17  100 1
1 3 18  200 1
1 3 19  300 2
2 3 20  400 2
2 3 21  500 1
2 3 22  600 2
3 3 23  . .
4 3 24  100 1
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Why do we want this?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;It is easy to recreate the dataset by just copy/pasting the code&lt;/LI&gt;
&lt;LI&gt;all attributes are defined clearly and leave no doubt about types, formats, ...&lt;/LI&gt;
&lt;LI&gt;because of this, the solution process will be speeded up significantly&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;It's not rocket science, and the skill to create datasets on the fly in code is very useful, as you will find out in your future work. Help us to help you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From this dataset, I did this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* summarize by id and year */
proc summary data=have nway;
class id year;
var expenditure;
output out=want sum()=;
run;

/* filter out entries with too many missing values */
proc sql;
create table filtered as
  select *
  from want
  where id in (
    select id from want group by id having count(expenditure) &amp;gt; 1
  )
;
quit;

/* create a prefix for the column headers */
proc format;
picture header
  low-high = "09" (prefix="Total_expenditure_year")
;
run;

/* create the report */
proc report data=filtered;
column id expenditure,year;
define id / group;
define year / "" across format=header.;
define expenditure / "" analysis;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Apr 2021 09:34:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736564#M229478</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-23T09:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to add all values of a variable within each ID by year?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736917#M229688</link>
      <description>&lt;P&gt;Thank you. I will also keep that in mind in the future.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Apr 2021 07:08:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-all-values-of-a-variable-within-each-ID-by-year/m-p/736917#M229688</guid>
      <dc:creator>ercksh8</dc:creator>
      <dc:date>2021-04-26T07:08:46Z</dc:date>
    </item>
  </channel>
</rss>

