<?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: Creating a new record based on a subsequent record in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326313#M72648</link>
    <description>&lt;P&gt;How many of the variables to you have as a starting point and how many do you want to calculate from the data you have? &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 20 Jan 2017 15:37:53 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2017-01-20T15:37:53Z</dc:date>
    <item>
      <title>Creating a new record based on a subsequent record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326295#M72643</link>
      <description>&lt;P&gt;I will like to write a program that&amp;nbsp;creates a file with 19 records with several&amp;nbsp;columns. The issue is that in some cases a column willb e based on a value for a subsequent record, not yet created.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example:&amp;nbsp;here for the 3rd record (ageg=5-9), the value of dx&amp;nbsp;is based on the lx value for the 4th record - the lx value for the 3rd record. Does SAS allow you to some these kind of calculations?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="593"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="39"&gt;&amp;nbsp;Ageg&lt;/TD&gt;
&lt;TD width="21"&gt;x&lt;/TD&gt;
&lt;TD width="21"&gt;n&lt;/TD&gt;
&lt;TD width="28"&gt;a&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;TD width="49"&gt;pop&lt;/TD&gt;
&lt;TD width="78"&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="78"&gt;death&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD width="80"&gt;M&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;TD width="67"&gt;q&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;TD width="81"&gt;p&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;TD width="83"&gt;l&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;TD width="46"&gt;d&lt;SUB&gt;x&lt;/SUB&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;lt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0.1&lt;/TD&gt;
&lt;TD width="49"&gt;73200&lt;/TD&gt;
&lt;TD width="78"&gt;321&lt;/TD&gt;
&lt;TD&gt;0.004385&lt;/TD&gt;
&lt;TD&gt;0.0043680&lt;/TD&gt;
&lt;TD&gt;0.995632&lt;/TD&gt;
&lt;TD&gt;100000&lt;/TD&gt;
&lt;TD&gt;437&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1-4&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;292855&lt;/TD&gt;
&lt;TD width="78"&gt;57&lt;/TD&gt;
&lt;TD&gt;0.000195&lt;/TD&gt;
&lt;TD&gt;0.0007782&lt;/TD&gt;
&lt;TD&gt;0.999222&lt;/TD&gt;
&lt;TD&gt;99563&lt;/TD&gt;
&lt;TD&gt;77&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5-9&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;376322&lt;/TD&gt;
&lt;TD width="78"&gt;32&lt;/TD&gt;
&lt;TD&gt;0.000085&lt;/TD&gt;
&lt;TD&gt;0.0004251&lt;/TD&gt;
&lt;TD&gt;0.999575&lt;/TD&gt;
&lt;TD&gt;99486&lt;/TD&gt;
&lt;TD&gt;42&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10-14&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;398163&lt;/TD&gt;
&lt;TD width="78"&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="78"&gt;40&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD&gt;0.000100&lt;/TD&gt;
&lt;TD&gt;0.0005022&lt;/TD&gt;
&lt;TD&gt;0.999498&lt;/TD&gt;
&lt;TD&gt;99443&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15-19&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;457196&lt;/TD&gt;
&lt;TD width="78"&gt;131&lt;/TD&gt;
&lt;TD&gt;0.000287&lt;/TD&gt;
&lt;TD&gt;0.0014316&lt;/TD&gt;
&lt;TD&gt;0.998568&lt;/TD&gt;
&lt;TD&gt;99393&lt;/TD&gt;
&lt;TD&gt;142&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;20-24&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;491392&lt;/TD&gt;
&lt;TD width="78"&gt;310&lt;/TD&gt;
&lt;TD&gt;0.000631&lt;/TD&gt;
&lt;TD&gt;0.0031493&lt;/TD&gt;
&lt;TD&gt;0.996851&lt;/TD&gt;
&lt;TD&gt;99251&lt;/TD&gt;
&lt;TD&gt;313&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;25-29&lt;/TD&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;482730&lt;/TD&gt;
&lt;TD width="78"&gt;497&lt;/TD&gt;
&lt;TD&gt;0.001030&lt;/TD&gt;
&lt;TD&gt;0.0051346&lt;/TD&gt;
&lt;TD&gt;0.994865&lt;/TD&gt;
&lt;TD&gt;98939&lt;/TD&gt;
&lt;TD&gt;508&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;30-34&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;447672&lt;/TD&gt;
&lt;TD width="78"&gt;508&lt;/TD&gt;
&lt;TD&gt;0.001135&lt;/TD&gt;
&lt;TD&gt;0.0056577&lt;/TD&gt;
&lt;TD&gt;0.994342&lt;/TD&gt;
&lt;TD&gt;98431&lt;/TD&gt;
&lt;TD&gt;557&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;35-39&lt;/TD&gt;
&lt;TD&gt;35&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;404949&lt;/TD&gt;
&lt;TD width="78"&gt;521&lt;/TD&gt;
&lt;TD&gt;0.001287&lt;/TD&gt;
&lt;TD&gt;0.0064123&lt;/TD&gt;
&lt;TD&gt;0.993588&lt;/TD&gt;
&lt;TD&gt;97874&lt;/TD&gt;
&lt;TD&gt;628&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;40-44&lt;/TD&gt;
&lt;TD&gt;40&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;432783&lt;/TD&gt;
&lt;TD width="78"&gt;709&lt;/TD&gt;
&lt;TD&gt;0.001638&lt;/TD&gt;
&lt;TD&gt;0.0081578&lt;/TD&gt;
&lt;TD&gt;0.991842&lt;/TD&gt;
&lt;TD&gt;97246&lt;/TD&gt;
&lt;TD&gt;793&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;45-49&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;475213&lt;/TD&gt;
&lt;TD width="78"&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="78"&gt;1233&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD&gt;0.002595&lt;/TD&gt;
&lt;TD&gt;0.0128895&lt;/TD&gt;
&lt;TD&gt;0.987110&lt;/TD&gt;
&lt;TD&gt;96453&lt;/TD&gt;
&lt;TD&gt;1243&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;50-54&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;511398&lt;/TD&gt;
&lt;TD width="78"&gt;1975&lt;/TD&gt;
&lt;TD&gt;0.003862&lt;/TD&gt;
&lt;TD&gt;0.0191252&lt;/TD&gt;
&lt;TD&gt;0.980875&lt;/TD&gt;
&lt;TD&gt;95210&lt;/TD&gt;
&lt;TD&gt;1821&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;55-59&lt;/TD&gt;
&lt;TD&gt;55&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;479748&lt;/TD&gt;
&lt;TD width="78"&gt;2787&lt;/TD&gt;
&lt;TD&gt;0.005809&lt;/TD&gt;
&lt;TD&gt;0.0286307&lt;/TD&gt;
&lt;TD&gt;0.971369&lt;/TD&gt;
&lt;TD&gt;93389&lt;/TD&gt;
&lt;TD&gt;2674&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;60-64&lt;/TD&gt;
&lt;TD&gt;60&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;405550&lt;/TD&gt;
&lt;TD width="78"&gt;3219&lt;/TD&gt;
&lt;TD&gt;0.007937&lt;/TD&gt;
&lt;TD&gt;0.0389146&lt;/TD&gt;
&lt;TD&gt;0.961085&lt;/TD&gt;
&lt;TD&gt;90715&lt;/TD&gt;
&lt;TD&gt;3530&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;65-69&lt;/TD&gt;
&lt;TD&gt;65&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;330937&lt;/TD&gt;
&lt;TD width="78"&gt;4086&lt;/TD&gt;
&lt;TD&gt;0.012347&lt;/TD&gt;
&lt;TD&gt;0.0598853&lt;/TD&gt;
&lt;TD&gt;0.940115&lt;/TD&gt;
&lt;TD&gt;87185&lt;/TD&gt;
&lt;TD&gt;5221&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;70-74&lt;/TD&gt;
&lt;TD&gt;70&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;231859&lt;/TD&gt;
&lt;TD width="78"&gt;4592&lt;/TD&gt;
&lt;TD&gt;0.019805&lt;/TD&gt;
&lt;TD&gt;0.0943540&lt;/TD&gt;
&lt;TD&gt;0.905646&lt;/TD&gt;
&lt;TD&gt;81964&lt;/TD&gt;
&lt;TD&gt;7734&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;75-79&lt;/TD&gt;
&lt;TD&gt;75&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;165604&lt;/TD&gt;
&lt;TD width="78"&gt;5300&lt;/TD&gt;
&lt;TD&gt;0.032004&lt;/TD&gt;
&lt;TD&gt;0.1481655&lt;/TD&gt;
&lt;TD&gt;0.851834&lt;/TD&gt;
&lt;TD&gt;74230&lt;/TD&gt;
&lt;TD&gt;10998&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;80-85&lt;/TD&gt;
&lt;TD&gt;80&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;130643&lt;/TD&gt;
&lt;TD width="78"&gt;7484&lt;/TD&gt;
&lt;TD&gt;0.057286&lt;/TD&gt;
&lt;TD&gt;0.2505474&lt;/TD&gt;
&lt;TD&gt;0.749453&lt;/TD&gt;
&lt;TD&gt;63232&lt;/TD&gt;
&lt;TD&gt;15843&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;85+&lt;/TD&gt;
&lt;TD&gt;85&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;0.5&lt;/TD&gt;
&lt;TD width="49"&gt;157194&lt;/TD&gt;
&lt;TD width="78"&gt;21355&lt;/TD&gt;
&lt;TD&gt;0.135851&lt;/TD&gt;
&lt;TD&gt;1.0000000&lt;/TD&gt;
&lt;TD&gt;0.000000&lt;/TD&gt;
&lt;TD&gt;47389&lt;/TD&gt;
&lt;TD&gt;47389&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Fri, 20 Jan 2017 15:27:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326295#M72643</guid>
      <dc:creator>malena</dc:creator>
      <dc:date>2017-01-20T15:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new record based on a subsequent record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326312#M72647</link>
      <description>&lt;P&gt;Many users here don't want to download Excel files because of virus potential, others have such things blocked by security software. Also if you give us Excel we have to create a SAS data set and due to the non-existent constraints on Excel data cells the result we end up with may not have variables of the same type (numeric or character) and even values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not going to try to guess from an Excel file what the needed processing may be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How are you going to calculate them? Any calculation code based on missing values will generally generate a missing value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since you don't show any missing values in the example data or which variables are dependent on others it is a bit difficult to see what you are doing.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jan 2017 15:35:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326312#M72647</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-01-20T15:35:52Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new record based on a subsequent record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326313#M72648</link>
      <description>&lt;P&gt;How many of the variables to you have as a starting point and how many do you want to calculate from the data you have? &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jan 2017 15:37:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326313#M72648</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-01-20T15:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new record based on a subsequent record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326318#M72649</link>
      <description>&lt;P&gt;Hi Malena,&lt;/P&gt;
&lt;P&gt;You can create a new variable with the value of the next record doing this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;length ageg $5. dx 8.;&lt;BR /&gt;infile datalines dlm="|";&lt;BR /&gt;input ageg dx;&lt;BR /&gt;datalines;&lt;BR /&gt;&amp;lt;1|436.800659691464&lt;BR /&gt;1-4|77.4839981349214&lt;BR /&gt;5-9|42.2891335719469&lt;BR /&gt;10-14|49.9385713503871&lt;BR /&gt;15-19|142.293749725199&lt;BR /&gt;20-24|312.575508974929&lt;BR /&gt;25-29|508.009167195865&lt;BR /&gt;30-34|556.895428355652&lt;BR /&gt;35-39|627.594050495114&lt;BR /&gt;40-44|793.310623042926&lt;BR /&gt;45-49|1243.23053041441&lt;BR /&gt;50-54|1820.89859881431&lt;BR /&gt;55-59|2673.78223114848&lt;BR /&gt;60-64|3530.13806725502&lt;BR /&gt;65-69|5221.08807892018&lt;BR /&gt;70-74|7733.59757376662&lt;BR /&gt;75-79|10998.3392139526&lt;BR /&gt;80-85|15842.5442862508&lt;BR /&gt;85+|47389.1905289392&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;data want ;&lt;BR /&gt;retain dx;&lt;BR /&gt;set have (rename=(dx=next_dx)) end=end ;&lt;BR /&gt;if _n_ &amp;gt; 1 then output;&lt;BR /&gt;dx = next_dx;&lt;BR /&gt;if not end then return;&lt;BR /&gt;call missing(next_dx);&lt;BR /&gt;output;&lt;BR /&gt;run ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This example creates a variable, next_dx, with the subsequent value of dx. Later you can use if-then logic according the age group to keep that value or not.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jan 2017 16:25:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326318#M72649</guid>
      <dc:creator>lmignone</dc:creator>
      <dc:date>2017-01-20T16:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new record based on a subsequent record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326437#M72680</link>
      <description>&lt;P&gt;You have a table of survivor counts (Lx) for each age group and you want the count of deaths (dx) in each age&amp;nbsp; group calculated by subtracting Lx for next age group from Lx for the current age group. So "merge" the dataset have with itself, in which the 2nd reference to have has only one variable: Lx renamed to next_lx. Also offset the second reference to have by one record ("firstobs=2").&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; merge have&lt;/P&gt;
&lt;P&gt;&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; have (firstobs=2 keep=Lx rename=(Lx=next_Lx));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; dx= Lx-coalesce(next_lx,0);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; drop next_lx;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The coalesce function returns the first non-missing value of next_lx and zero.&amp;nbsp; This is relevant only for the last record, in which there is no next_lx (i.e. it has a missing value). Since everybody must die in the oldest age group, subtract zero from Lx to get 100% deaths in the 85+ cohorts.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jan 2017 22:11:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-record-based-on-a-subsequent-record/m-p/326437#M72680</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-01-20T22:11:49Z</dc:date>
    </item>
  </channel>
</rss>

