<?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 Insert new rows by ID with change in previous values + last value in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Insert-new-rows-by-ID-with-change-in-previous-values-last-value/m-p/597904#M16219</link>
    <description>&lt;P&gt;I have two data points (1990 &amp;amp; 2018) for each variable and each cluster. I want to create another row for each cluster and each variable for the year 2047 by using this formula: 2047 val =&amp;nbsp; (2018 val - 1990 val) + 2018 val for emp, lq, and emp_share_perc.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My current data set:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;cluster&lt;/TD&gt;&lt;TD&gt;emp&lt;/TD&gt;&lt;TD&gt;lq&lt;/TD&gt;&lt;TD&gt;year2&lt;/TD&gt;&lt;TD&gt;emp_share_perc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;12868&lt;/TD&gt;&lt;TD&gt;1.074518089&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;6.2331372&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;31869.5&lt;/TD&gt;&lt;TD&gt;1.281039607&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;10.3577914&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;7477.416667&lt;/TD&gt;&lt;TD&gt;0.6539712&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;3.6219897&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;3339.25&lt;/TD&gt;&lt;TD&gt;0.3381481&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.0852776&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;5567.5&lt;/TD&gt;&lt;TD&gt;0.928833971&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;2.6968442&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;3619.5&lt;/TD&gt;&lt;TD&gt;0.494140709&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.1763607&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;673.8333333&lt;/TD&gt;&lt;TD&gt;0.279438995&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;0.3263985&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;863.5&lt;/TD&gt;&lt;TD&gt;0.236455726&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;0.280643&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My desired output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;cluster&lt;/TD&gt;&lt;TD&gt;emp&lt;/TD&gt;&lt;TD&gt;lq&lt;/TD&gt;&lt;TD&gt;year2&lt;/TD&gt;&lt;TD&gt;emp_share_perc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;12868&lt;/TD&gt;&lt;TD&gt;1.074518&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;6.233137&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;31869.5&lt;/TD&gt;&lt;TD&gt;1.28104&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;10.35779&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;50871&lt;/TD&gt;&lt;TD&gt;1.487561&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;14.48245&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;7477.417&lt;/TD&gt;&lt;TD&gt;0.653971&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;3.62199&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;3339.25&lt;/TD&gt;&lt;TD&gt;0.338148&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.085278&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;-798.917&lt;/TD&gt;&lt;TD&gt;0.022325&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;-1.45143&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;5567.5&lt;/TD&gt;&lt;TD&gt;0.928834&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;2.696844&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;3619.5&lt;/TD&gt;&lt;TD&gt;0.494141&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.176361&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;1671.5&lt;/TD&gt;&lt;TD&gt;0.059447&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;-0.34412&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;673.8333&lt;/TD&gt;&lt;TD&gt;0.279439&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;0.326399&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;863.5&lt;/TD&gt;&lt;TD&gt;0.236456&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;0.280643&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;1053.167&lt;/TD&gt;&lt;TD&gt;0.193472&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;0.234888&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;data EP_data_2047;   
	set EP_data_1d;
	LENGTH year3 8;
	FORMAT year3 DATE9.;
	INFORMAT year3 DATE9.; 
	by cluster; 
	if cluster = cluster then lq_2047 = (lq - lag(lq)) + lq;
	year3 = '01JAN2047'd;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 19 Oct 2019 18:46:33 GMT</pubDate>
    <dc:creator>KRA15</dc:creator>
    <dc:date>2019-10-19T18:46:33Z</dc:date>
    <item>
      <title>Insert new rows by ID with change in previous values + last value</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Insert-new-rows-by-ID-with-change-in-previous-values-last-value/m-p/597904#M16219</link>
      <description>&lt;P&gt;I have two data points (1990 &amp;amp; 2018) for each variable and each cluster. I want to create another row for each cluster and each variable for the year 2047 by using this formula: 2047 val =&amp;nbsp; (2018 val - 1990 val) + 2018 val for emp, lq, and emp_share_perc.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My current data set:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;cluster&lt;/TD&gt;&lt;TD&gt;emp&lt;/TD&gt;&lt;TD&gt;lq&lt;/TD&gt;&lt;TD&gt;year2&lt;/TD&gt;&lt;TD&gt;emp_share_perc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;12868&lt;/TD&gt;&lt;TD&gt;1.074518089&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;6.2331372&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;31869.5&lt;/TD&gt;&lt;TD&gt;1.281039607&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;10.3577914&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;7477.416667&lt;/TD&gt;&lt;TD&gt;0.6539712&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;3.6219897&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;3339.25&lt;/TD&gt;&lt;TD&gt;0.3381481&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.0852776&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;5567.5&lt;/TD&gt;&lt;TD&gt;0.928833971&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;2.6968442&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;3619.5&lt;/TD&gt;&lt;TD&gt;0.494140709&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.1763607&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;673.8333333&lt;/TD&gt;&lt;TD&gt;0.279438995&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;0.3263985&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;863.5&lt;/TD&gt;&lt;TD&gt;0.236455726&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;0.280643&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My desired output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;cluster&lt;/TD&gt;&lt;TD&gt;emp&lt;/TD&gt;&lt;TD&gt;lq&lt;/TD&gt;&lt;TD&gt;year2&lt;/TD&gt;&lt;TD&gt;emp_share_perc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;12868&lt;/TD&gt;&lt;TD&gt;1.074518&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;6.233137&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;31869.5&lt;/TD&gt;&lt;TD&gt;1.28104&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;10.35779&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Accommodation and Food Svcs&lt;/TD&gt;&lt;TD&gt;50871&lt;/TD&gt;&lt;TD&gt;1.487561&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;14.48245&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;7477.417&lt;/TD&gt;&lt;TD&gt;0.653971&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;3.62199&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;3339.25&lt;/TD&gt;&lt;TD&gt;0.338148&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.085278&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Advanced Materials&lt;/TD&gt;&lt;TD&gt;-798.917&lt;/TD&gt;&lt;TD&gt;0.022325&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;-1.45143&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;5567.5&lt;/TD&gt;&lt;TD&gt;0.928834&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;2.696844&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;3619.5&lt;/TD&gt;&lt;TD&gt;0.494141&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;1.176361&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Agribusiness&lt;/TD&gt;&lt;TD&gt;1671.5&lt;/TD&gt;&lt;TD&gt;0.059447&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;-0.34412&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;673.8333&lt;/TD&gt;&lt;TD&gt;0.279439&lt;/TD&gt;&lt;TD&gt;01Jan1990&lt;/TD&gt;&lt;TD&gt;0.326399&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;863.5&lt;/TD&gt;&lt;TD&gt;0.236456&lt;/TD&gt;&lt;TD&gt;01Jan2018&lt;/TD&gt;&lt;TD&gt;0.280643&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Biomedical&lt;/TD&gt;&lt;TD&gt;1053.167&lt;/TD&gt;&lt;TD&gt;0.193472&lt;/TD&gt;&lt;TD&gt;01Jan2047&lt;/TD&gt;&lt;TD&gt;0.234888&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;data EP_data_2047;   
	set EP_data_1d;
	LENGTH year3 8;
	FORMAT year3 DATE9.;
	INFORMAT year3 DATE9.; 
	by cluster; 
	if cluster = cluster then lq_2047 = (lq - lag(lq)) + lq;
	year3 = '01JAN2047'd;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 Oct 2019 18:46:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Insert-new-rows-by-ID-with-change-in-previous-values-last-value/m-p/597904#M16219</guid>
      <dc:creator>KRA15</dc:creator>
      <dc:date>2019-10-19T18:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Insert new rows by ID with change in previous values + last value</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Insert-new-rows-by-ID-with-change-in-previous-values-last-value/m-p/597957#M16226</link>
      <description>&lt;P&gt;You can use a _TEMPORARY_ array to hold the 1990 values (_TEMPORARY_ values are automatically retained).&amp;nbsp; Then after output the 2018 value, you can calculate and output the 2047 values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input cluster  $27.      emp         lq          year2 :date9.   emp_share_perc;
  format year2 date9. ;
datalines;
Accommodation and Food Svcs 12868       1.074518089 01Jan1990    6.2331372
Accommodation and Food Svcs 31869.5     1.281039607 01Jan2018   10.3577914
Advanced Materials          7477.416667 0.6539712   01Jan1990    3.6219897
Advanced Materials          3339.25     0.3381481   01Jan2018    1.0852776
Agribusiness                5567.5      0.928833971 01Jan1990    2.6968442
Agribusiness                3619.5      0.494140709 01Jan2018    1.1763607
Biomedical                  673.8333333 0.279438995 01Jan1990    0.3263985
Biomedical                  863.5       0.236455726 01Jan2018    0.280643
run;

data want (drop=i);
  set have;
  by cluster;
  output;

  array tmp {3} _temporary_;
  array var {3} emp lq emp_share_perc;

  if year2='01jan1990'd then do i=1 to 3;
    tmp{i}=var{i};
  end;
  if year2='01jan2018'd;
  year2='01jan2047'd;
  do i=1 to 3;
    var{i}=2*var{i}-tmp{i};
  end;
  output;
run;

  
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This program assumes each cluster has one 1990 record followed by one 2018 record.&lt;/P&gt;</description>
      <pubDate>Sun, 20 Oct 2019 02:11:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Insert-new-rows-by-ID-with-change-in-previous-values-last-value/m-p/597957#M16226</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-10-20T02:11:41Z</dc:date>
    </item>
  </channel>
</rss>

