<?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: Sum the  rows based on variable values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396420#M278151</link>
    <description>&lt;P&gt;I agree about provide more data but i will assume data and proceed.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume you have a terrible data structure that is making the task much more complicated than it needs to be,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data payments;
  input 
	@1 parentid 
	@5 account_name $12. 
	@17 date MMDDYY10.
	@28 amount 1.;
cards; 
101 mcdonalds   01/01/2017 1
103 burger king 01/01/2017 1
105 dominos     01/01/2017 1
101 mcdonalds   02/01/2017 1
103 burger king 02/01/2017 1
105 dominos     02/01/2017 .
101 mcdonalds   08/01/2017 1
103 burger king 08/01/2017 1
105 dominos     08/01/2017 1
101 mcdonalds   11/01/2017 1
103 burger king 11/01/2017 1
105 dominos     11/01/2017 1
101 mcdonalds   12/01/2017 0
103 burger king 12/01/2017 0
105 dominos     12/01/2017 0
;
run;


data triggers;
  input parentid trigger MMDDYY10.;
cards; 
101 01/01/2017 
103 02/01/2017 
105 08/01/2017
;
run;

* we can see that the sum of AMOUNT for 101 from trigger date 1/1/2017 to 12/1/2017 is 4;
* we can see that the sum of AMOUNT for 103 from trigger date 2/1/2017 to 12/1/2017 is 3;
* we can see that the sum of AMOUNT for 105 from trigger date 8/1/2017 to 12/1/2017 is 2;


proc sql;
create table payment_sums as
select
	payments.parentid,
	sum(payments.amount) as payment_sum
	from payments inner join triggers on payments.parentid = triggers.parentid 
	where payments.date between triggers.trigger and 21154
	group by payments.parentid
	order by payments.parentid;
quit;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Resulting in&lt;/P&gt;
&lt;PRE&gt;The SAS System	
	
parentid	payment_sum
101	4
103	3
105	2
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Perhaps that isn't what you want.&amp;nbsp; Perhaps it is.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not real good at SAS dates and someone else will be able to tell you how to do it better than 21154 if in fact this is what you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 15 Sep 2017 16:39:40 GMT</pubDate>
    <dc:creator>HB</dc:creator>
    <dc:date>2017-09-15T16:39:40Z</dc:date>
    <item>
      <title>Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396384#M278146</link>
      <description>&lt;P&gt;I need help in find logic for this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Parentid&amp;nbsp; Account_Name&amp;nbsp; JAN_LY to DEC_LY &amp;nbsp; JAN_CY&amp;nbsp; to DEC_CY &amp;nbsp;&amp;nbsp; Condition&amp;nbsp; Total_Values&lt;/P&gt;&lt;P&gt;101 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MC donalds &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; &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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAN_CY&lt;/P&gt;&lt;P&gt;103 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Burger King&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FEB_CY&lt;/P&gt;&lt;P&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dominos&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUG_LY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Suppose if I have unique/single parentid, unique account_name for that and values in the column Jan LY to DEC CY. There might be 0 or missing values in any of these columns against the parentid number. Suppose if I have to sum the variable values starting from the values in the condition variable. CY is current year. LY is last year&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Like for first row for parent id 101 based on condition I need to sum (JAN_CY - DEC CY) and put that in total values column. For parent id 103 I need to sum (FEB_CY-DEC_CY) and for 105 parentif I need to sm from (AUG_LY--DEC_CY). There may be missing values in these columns.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry due to space constraints I am not able to write all columns and values. should i take condition column in macro variable and add like below example&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;total_values = sum (&amp;amp;condition_values - &amp;amp;reporting_month)..Reporting month can be from jan to dec 2017..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 15:23:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396384#M278146</guid>
      <dc:creator>sameer112217</dc:creator>
      <dc:date>2017-09-15T15:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396394#M278147</link>
      <description>&lt;P&gt;Please provide sample data and expected output.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, your data is likely private, so make up fake data that is similar enough.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 15:29:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396394#M278147</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-15T15:29:26Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the variables rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396407#M278148</link>
      <description>&lt;P&gt;You really should provide some example data so code could be tested. And to show the desired results.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There really is likely NO reason to bring macro variables into this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is one approach with a smaller data set. Note the presence of an invalid condition.&lt;/P&gt;
&lt;PRE&gt;data have;
   infile datalines dlm=',';
   informat Parentid $5. Accountname $10.  Jan_Ly Aug_Ly Dec_Ly  Jan_cy Aug_cy Dec_cy best6. Condition $6.;
   input Parentid  Accountname  Jan_Ly Aug_Ly Dec_Ly  Jan_cy Aug_cy Dec_cy Condition;
datalines;
101,McDonalds, 25, 10, , 17,27,37,Jan_cy
103,Burger King, 5,5,5,5,5,5,Aug_cy
105,dominos,1,2,3,4,5,6,AugLy
105,dominos,1,2,3,4,5,6,Aug_Ly
;
run;

data want;
   set have;
   array v Jan_Ly Aug_Ly Dec_Ly  Jan_cy Aug_cy Dec_cy;
   condition=upcase(condition);
   if vinarrayx(condition) then do i=1 to dim (v);
      if upcase(vname(v(i)))=condition then vindex=i;
      if vindex ge 0 then totalsum= sum(totalsum,v[i]);
   end;
run;
      

&lt;/PRE&gt;</description>
      <pubDate>Fri, 15 Sep 2017 15:50:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396407#M278148</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-09-15T15:50:53Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the variables rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396418#M278149</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/89720"&gt;@sameer112217&lt;/a&gt;&amp;nbsp;I agree with other responses. Please provdie sample INPUT, sample OUTPUT(Your req) and a brief explanation of the convert logic. Forgive me, I am too lazy to read very descriptive questions unless it mandates.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 16:25:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396418#M278149</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-09-15T16:25:08Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the variables rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396419#M278150</link>
      <description>Sure will provide sample output and input&lt;BR /&gt;</description>
      <pubDate>Fri, 15 Sep 2017 16:29:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396419#M278150</guid>
      <dc:creator>sameer112217</dc:creator>
      <dc:date>2017-09-15T16:29:59Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396420#M278151</link>
      <description>&lt;P&gt;I agree about provide more data but i will assume data and proceed.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume you have a terrible data structure that is making the task much more complicated than it needs to be,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data payments;
  input 
	@1 parentid 
	@5 account_name $12. 
	@17 date MMDDYY10.
	@28 amount 1.;
cards; 
101 mcdonalds   01/01/2017 1
103 burger king 01/01/2017 1
105 dominos     01/01/2017 1
101 mcdonalds   02/01/2017 1
103 burger king 02/01/2017 1
105 dominos     02/01/2017 .
101 mcdonalds   08/01/2017 1
103 burger king 08/01/2017 1
105 dominos     08/01/2017 1
101 mcdonalds   11/01/2017 1
103 burger king 11/01/2017 1
105 dominos     11/01/2017 1
101 mcdonalds   12/01/2017 0
103 burger king 12/01/2017 0
105 dominos     12/01/2017 0
;
run;


data triggers;
  input parentid trigger MMDDYY10.;
cards; 
101 01/01/2017 
103 02/01/2017 
105 08/01/2017
;
run;

* we can see that the sum of AMOUNT for 101 from trigger date 1/1/2017 to 12/1/2017 is 4;
* we can see that the sum of AMOUNT for 103 from trigger date 2/1/2017 to 12/1/2017 is 3;
* we can see that the sum of AMOUNT for 105 from trigger date 8/1/2017 to 12/1/2017 is 2;


proc sql;
create table payment_sums as
select
	payments.parentid,
	sum(payments.amount) as payment_sum
	from payments inner join triggers on payments.parentid = triggers.parentid 
	where payments.date between triggers.trigger and 21154
	group by payments.parentid
	order by payments.parentid;
quit;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Resulting in&lt;/P&gt;
&lt;PRE&gt;The SAS System	
	
parentid	payment_sum
101	4
103	3
105	2
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Perhaps that isn't what you want.&amp;nbsp; Perhaps it is.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not real good at SAS dates and someone else will be able to tell you how to do it better than 21154 if in fact this is what you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2017 16:39:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/396420#M278151</guid>
      <dc:creator>HB</dc:creator>
      <dc:date>2017-09-15T16:39:40Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397114#M278152</link>
      <description>&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am coming up with exact structure of data for which I am struggling&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data calculations;&lt;/P&gt;&lt;P&gt;id jan_LY&amp;nbsp;feb_ly&amp;nbsp;mar_ly&amp;nbsp;apr_ly&amp;nbsp;&amp;nbsp; start_month$;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 100&amp;nbsp;&amp;nbsp;. 300 400&amp;nbsp;&amp;nbsp;jan_ly&lt;/P&gt;&lt;P&gt;2 100&amp;nbsp;&amp;nbsp;. 300 400&amp;nbsp;&amp;nbsp; feb_ly&lt;/P&gt;&lt;P&gt;3 100&amp;nbsp;&amp;nbsp;. 300 400&amp;nbsp;&amp;nbsp; mar_ly&lt;/P&gt;&lt;P&gt;4 100&amp;nbsp;&amp;nbsp;. 300 400&amp;nbsp; jan_ly&lt;/P&gt;&lt;P&gt;5 100&amp;nbsp;&amp;nbsp;. 300 400&amp;nbsp;&amp;nbsp; mar_ly&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want additonal variable called totalsum across all iteration where it should sum from the start_month value to apr_ly and want below output&lt;/P&gt;&lt;P&gt;id jan_LY&amp;nbsp;feb_ly&amp;nbsp;mar_ly&amp;nbsp;&amp;nbsp;&amp;nbsp; apr_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start_month&amp;nbsp;&amp;nbsp; totalsum&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 100&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;jan_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 800&lt;/P&gt;&lt;P&gt;2 100&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;feb_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 700&lt;/P&gt;&lt;P&gt;3 100&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;mar_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 700&lt;/P&gt;&lt;P&gt;4 100&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;jan_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 800&lt;/P&gt;&lt;P&gt;5 100&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;apr_ly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In short I do not want sum of the variables which is before the start_month values across each iteration. Feb_ly has blank values so it is .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope I am clear with the input and output as everyone wanted me to specify.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Sep 2017 13:47:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397114#M278152</guid>
      <dc:creator>sameer112217</dc:creator>
      <dc:date>2017-09-19T13:47:05Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397140#M278153</link>
      <description>&lt;P&gt;And a perfect example of why tidy data is important:&amp;nbsp;&lt;A href="http://vita.had.co.nz/papers/tidy-data.html" target="_blank"&gt;http://vita.had.co.nz/papers/tidy-data.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. Declare an array of all your months.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Use a loop to loop through the months using VNAME to identify your starting point.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sample code - untested and you'll need to type out your variable names and such.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array myMonths(*);

FOUND=0;

do i=1 to dim(myMonths);

_name = vname(myMonths(i);
if _name = start_month then found=1;


if found=1 then totalsum = sum(totalsum, myMonths(i));

end;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 19 Sep 2017 14:53:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397140#M278153</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-19T14:53:50Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397153#M278154</link>
      <description>&lt;P&gt;&lt;SPAN&gt;data want;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; set have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ARRAY Mval {4} $ ('Jan_ly',' Feb_ly','Mar_ly', 'Apr_ly'); *THIS IS CASE SENSITIVE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ARRAY Mvar&amp;nbsp;{4} &amp;nbsp;jan_LY feb_ly mar_ly apr_ly;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;do i=1 to dim(mval);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; if&amp;nbsp;start_month=mval(i) then&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; do x=i to dim(mval);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;totalsum=sum(totalsum,mvar(x));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2017 01:25:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397153#M278154</guid>
      <dc:creator>ShiroAmada</dc:creator>
      <dc:date>2017-09-20T01:25:45Z</dc:date>
    </item>
    <item>
      <title>Re: Sum the  rows based on variable values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397400#M278155</link>
      <description>&lt;P&gt;ShiroAmada and Reeza both yours answers are correct. I am deeply thankful to you. That was indeed high quality sas programing.&lt;/P&gt;&lt;P&gt;I got the solution and it worked.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2017 12:00:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-the-rows-based-on-variable-values/m-p/397400#M278155</guid>
      <dc:creator>sameer112217</dc:creator>
      <dc:date>2017-09-20T12:00:08Z</dc:date>
    </item>
  </channel>
</rss>

