<?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: Copy first observation till the end in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813412#M321039</link>
    <description>&lt;P&gt;Look up the RETAIN statement, which tells SAS to avoid resetting new variables to missing values from iteration to iteration.&amp;nbsp; You apparently want to retain the values of the&amp;nbsp;Fee_New_AY_01 - Fee_New_AY_04 variables calculated when _n_=1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 16 May 2022 03:22:26 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2022-05-16T03:22:26Z</dc:date>
    <item>
      <title>Dynamically Calculate of Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812266#M320467</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have tuition fees laid out for 4 years (Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Fee_YR_04&lt;/CODE&gt;) starting current year (&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;/CODE&gt;). Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Increase_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Increase_YR_04&lt;/CODE&gt;&amp;nbsp;in the sample dataset shows the proposed tuition fee increase rate (in percent) based on the previous year. I want to calculate the future tuition based on this proposed tuition increase rate (in the new variables&amp;nbsp;Fee_New_YR_02 - Fee_New_YR_04). I want a dynamic solution for this calculation.&amp;nbsp; Thank you all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My data set looks like this:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="language-sas"&gt;&lt;CODE&gt;data have;
	input Fee_YR_01 Fee_YR_02 Fee_YR_03 Fee_YR_04 Increase_YR_01 Increase_YR_02 Increase_YR_03 Increase_YR_04;
datalines;
1000	1050	1100	1150	0	20	20	20
1000	1070	1100	1150	0	20	20	20
3000	3100	3150	3200	0	15	15	15
3000	3200	3200	3300	0	15	15	15
4000	4150	4200	4250	0	15	15	15
4000	4200	4300	4350	0	15	15	15

;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;This is the output I want:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="321"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="107"&gt;Fee_New_YR_02&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_03&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1260&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1284&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3565&lt;/TD&gt;
&lt;TD&gt;3622.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4772.5&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;TD&gt;4945&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Calculations:&amp;nbsp;Fee_New_YR_02=Fee_YR_01 * 1.2 (increased by 20%)&lt;/P&gt;
&lt;P&gt;I have shown you a small set of data. But I have 150 variables for tuition fees and 150 variables for the tuition rate increase.&amp;nbsp; So I need help on how to do it dynamically.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 May 2022 21:43:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812266#M320467</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-09T21:43:48Z</dc:date>
    </item>
    <item>
      <title>Dynamic Calculations of Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812264#M320468</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have tuition fees laid out for 4 years (Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Fee_YR_04&lt;/CODE&gt;) starting current year (&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;/CODE&gt;). Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Increase_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Increase_YR_04&lt;/CODE&gt;&amp;nbsp;in the sample dataset shows the proposed tuition fee increase rate (in percent) based on the previous year. I want to calculate the future tuition based on this proposed tuition increase rate (in the new variables&amp;nbsp;Fee_New_YR_02 - Fee_New_YR_04). I want a dynamic solution for this calculation.&amp;nbsp; Thank you all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My data set looks like this:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="language-sas"&gt;&lt;CODE&gt;data have;
	input Fee_YR_01 Fee_YR_02 Fee_YR_03 Fee_YR_04 Increase_YR_01 Increase_YR_02 Increase_YR_03 Increase_YR_04;
datalines;
1000	1050	1100	1150	0	20	20	20
1000	1070	1100	1150	0	20	20	20
3000	3100	3150	3200	0	15	15	15
3000	3200	3200	3300	0	15	15	15
4000	4150	4200	4250	0	15	15	15
4000	4200	4300	4350	0	15	15	15

;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;This is the output I want:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="321"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="107"&gt;Fee_New_YR_02&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_03&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1260&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1284&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3565&lt;/TD&gt;
&lt;TD&gt;3622.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4772.5&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;TD&gt;4945&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Calculations:&amp;nbsp;Fee_New_YR_02=Fee_YR_01 * 1.2 (increased by 20%)&lt;/P&gt;
&lt;P&gt;I have shown you a small set of data. But I have 150 variables for tuition fees and 150 variables for the tuition rate increase.&amp;nbsp; So I need help on how to do it dynamically.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 May 2022 21:40:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812264#M320468</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-09T21:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamically Calculate of Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812271#M320470</link>
      <description>&lt;P&gt;Please do not post the question in multiple locations.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Update your dimensions and variable series accordingly and this should work:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data want;
set have;

array fee_hist (4) fee_yr_01 - fee_yr_04;
array increase(4) increase_yr_01 - increase_yr_04;
array fee_new (2:4) fee_new_yr_02 - fee_new_yr_04;

do i=2 to 4;
fee_new(i) = fee_hist(i-1) * (1+(increase(i)/100));
end;

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or slightly more dynamically, update your end of the series:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

array fee_hist (*) fee_yr_01 - fee_yr_04;
array increase(*) increase_yr_01 - increase_yr_04;
array fee_new (*) fee_new_yr_02 - fee_new_yr_04;

do i=2 to dim(fee_hist);
fee_new(i-1) = fee_hist(i-1) * (1+(increase(i)/100));
end;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's a tutorial on using Arrays in SAS&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/seminars/sas-arrays/" target="_blank" rel="noopener"&gt;https://stats.idre.ucla.edu/sas/seminars/sas-arrays/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/35631"&gt;@mlogan&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have tuition fees laid out for 4 years (Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Fee_YR_04&lt;/CODE&gt;) starting current year (&lt;CODE class="  language-sas"&gt;Fee_YR_01&lt;/CODE&gt;). Variables&amp;nbsp;&lt;CODE class="  language-sas"&gt;Increase_YR_01&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;Increase_YR_04&lt;/CODE&gt;&amp;nbsp;in the sample dataset shows the proposed tuition fee increase rate (in percent) based on the previous year. I want to calculate the future tuition based on this proposed tuition increase rate (in the new variables&amp;nbsp;Fee_New_YR_02 - Fee_New_YR_04). I want a dynamic solution for this calculation.&amp;nbsp; Thank you all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My data set looks like this:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="language-sas"&gt;&lt;CODE&gt;data have;
	input Fee_YR_01 Fee_YR_02 Fee_YR_03 Fee_YR_04 Increase_YR_01 Increase_YR_02 Increase_YR_03 Increase_YR_04;
datalines;
1000	1050	1100	1150	0	20	20	20
1000	1070	1100	1150	0	20	20	20
3000	3100	3150	3200	0	15	15	15
3000	3200	3200	3300	0	15	15	15
4000	4150	4200	4250	0	15	15	15
4000	4200	4300	4350	0	15	15	15

;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;This is the output I want:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="321"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="107"&gt;Fee_New_YR_02&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_03&lt;/TD&gt;
&lt;TD width="107"&gt;Fee_New_YR_04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1260&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1284&lt;/TD&gt;
&lt;TD&gt;1320&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3565&lt;/TD&gt;
&lt;TD&gt;3622.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3450&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;TD&gt;3680&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4772.5&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4600&lt;/TD&gt;
&lt;TD&gt;4830&lt;/TD&gt;
&lt;TD&gt;4945&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Calculations:&amp;nbsp;Fee_New_YR_02=Fee_YR_01 * 1.2 (increased by 20%)&lt;/P&gt;
&lt;P&gt;I have shown you a small set of data. But I have 150 variables for tuition fees and 150 variables for the tuition rate increase.&amp;nbsp; So I need help on how to do it dynamically.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 May 2022 22:24:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/812271#M320470</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-05-09T22:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamically Calculate of Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813370#M321005</link>
      <description>&lt;P&gt;Thank you Reeza. Your code worked for me. I just have slightly different requirements now and wondering if you can help.&lt;/P&gt;
&lt;P&gt;I want the calculated output of the first row will be copied below all the way to the end.&lt;/P&gt;
&lt;P&gt;I was able to do the calculation on the first line, but don't know how to copy downward. Thank you for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	input Fee_YR_01 Fee_YR_02 Fee_YR_03 Fee_YR_04 Increase_YR_01 Increase_YR_02 Increase_YR_03 Increase_YR_04;
datalines;
1000	1050	1100	1150	0	20	20	20
1000	1070	1100	1150	0	20	20	20
3000	3100	3150	3200	0	15	15	15
3000	3200	3200	3300	0	15	15	15
;
RUN;

DATA Want;
SET  Have;

ARRAY Increase_Rate(*) Increase_YR_01 - Increase_YR_04;
ARRAY Fee_New(*)        Fee_New_AY_01 - Fee_New_AY_04;

Fee_New_AY_01=Fee_YR_01;
   DO i=2 TO dim(Fee_New);
   
	IF _n_=1 THEN fee_new(i) = FLOOR(( fee_new(i-1) * (1+(Increase_Rate(i)/100)) )/10)*10;
    
END;
DROP i;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;Expected Output:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="1108"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="71"&gt;Fee_YR_01&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_02&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_03&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_04&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_01&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_02&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_03&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_04&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_01&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_02&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_03&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1050&lt;/TD&gt;
&lt;TD&gt;1100&lt;/TD&gt;
&lt;TD&gt;1150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1070&lt;/TD&gt;
&lt;TD&gt;1100&lt;/TD&gt;
&lt;TD&gt;1150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;3150&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;3300&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 15 May 2022 13:32:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813370#M321005</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-15T13:32:17Z</dc:date>
    </item>
    <item>
      <title>Copy first observation till the end</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813410#M321038</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I have lat 4 year tuition fee laid out as Fee_YR_01-Fee_YR_04 and their corresponding increased rate Increase_YR_01-Increase_YR_04. I want 4 new rows which will calculate the tuition fee for the next 4 years based on their previous year tuitions and corresponding increase. But instead of calculating all 4 rows, I want&amp;nbsp;the calculated output of the first row to be copied below all the way to the end.&lt;/P&gt;
&lt;P&gt;I was able to do the calculation on the first row, but don't know how to copy downward. Can anyone help please. Thank you&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="language-sas"&gt;&lt;CODE&gt;data have;
	input Fee_YR_01 Fee_YR_02 Fee_YR_03 Fee_YR_04 Increase_YR_01 Increase_YR_02 Increase_YR_03 Increase_YR_04;
datalines;
1000	1050	1100	1150	0	20	20	20
1000	1070	1100	1150	0	20	20	20
3000	3100	3150	3200	0	15	15	15
3000	3200	3200	3300	0	15	15	15
;
RUN;

DATA Want;
SET  Have;

ARRAY Increase_Rate(*) Increase_YR_01 - Increase_YR_04;
ARRAY Fee_New(*)        Fee_New_AY_01 - Fee_New_AY_04;

Fee_New_AY_01=Fee_YR_01;
   DO i=2 TO dim(Fee_New);
   
	IF _n_=1 THEN fee_new(i) = FLOOR(( fee_new(i-1) * (1+(Increase_Rate(i)/100)) )/10)*10;
    
END;
DROP i;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;Expected Output:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="1108"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="71"&gt;Fee_YR_01&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_02&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_03&lt;/TD&gt;
&lt;TD width="71"&gt;Fee_YR_04&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_01&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_02&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_03&lt;/TD&gt;
&lt;TD width="100"&gt;Increase_YR_04&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_01&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_02&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_03&lt;/TD&gt;
&lt;TD width="106"&gt;Fee_New_AY_04&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1050&lt;/TD&gt;
&lt;TD&gt;1100&lt;/TD&gt;
&lt;TD&gt;1150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1070&lt;/TD&gt;
&lt;TD&gt;1100&lt;/TD&gt;
&lt;TD&gt;1150&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;3150&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;3200&lt;/TD&gt;
&lt;TD&gt;3300&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;3000&lt;/TD&gt;
&lt;TD&gt;1200&lt;/TD&gt;
&lt;TD&gt;1440&lt;/TD&gt;
&lt;TD&gt;1720&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2022 03:09:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813410#M321038</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-16T03:09:59Z</dc:date>
    </item>
    <item>
      <title>Re: Copy first observation till the end</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813412#M321039</link>
      <description>&lt;P&gt;Look up the RETAIN statement, which tells SAS to avoid resetting new variables to missing values from iteration to iteration.&amp;nbsp; You apparently want to retain the values of the&amp;nbsp;Fee_New_AY_01 - Fee_New_AY_04 variables calculated when _n_=1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2022 03:22:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813412#M321039</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-05-16T03:22:26Z</dc:date>
    </item>
    <item>
      <title>Re: Copy first observation till the end</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813415#M321040</link>
      <description>&lt;P&gt;I have merged your posts, please don't repost questions.&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2022 06:23:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813415#M321040</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2022-05-16T06:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: Copy first observation till the end</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813503#M321085</link>
      <description>Thank you mkeintz. It worked for me perfectly. Never used this RETAIN function before. Today I have learded something new.</description>
      <pubDate>Mon, 16 May 2022 17:13:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813503#M321085</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-16T17:13:36Z</dc:date>
    </item>
    <item>
      <title>Re: Copy first observation till the end</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813580#M321125</link>
      <description>&lt;P&gt;Hi mkeintz, Do you know how I can stop RETAIN function to copy the value all the way till the blank line? I want it to stop at one point when my another by value (sorted column) ends.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2022 19:17:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamically-Calculate-of-Variables/m-p/813580#M321125</guid>
      <dc:creator>mlogan</dc:creator>
      <dc:date>2022-05-16T19:17:09Z</dc:date>
    </item>
  </channel>
</rss>

