<?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 how to create new variable by selecting from previous variable based on different timelines in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618575#M181487</link>
    <description>&lt;P&gt;Dear all,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset as follow,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 336pt;" border="0" width="448" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;year&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_4var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_5var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_6var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_7var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;treat&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1990&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1991&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1992&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1993&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2001&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2002&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2003&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;lag4_var = lag4(var) where var is a measurement of firm size for each ID/quarter. Similarly, lag5_var is the value of the 5&lt;SUP&gt;th&lt;/SUP&gt; previous quarterly ‘var’ and lag6_var is the value of the 6&lt;SUP&gt;th&lt;/SUP&gt; previous quarterly ‘var’, and so on.&lt;/P&gt;
&lt;P&gt;Treat is a dummy variable equals 1 if any of lag#_var greater than or equals to 10,&amp;nbsp; or it equals 0 if all the lag#_var are less than 10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to create a new variable, K. For observations with treat=1, K equals the earliest lag#_var that is greater than 10. For observations with treat=0. K equals the latest (most current) lag#_var.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, for observation with ID=1 and year=1990, treat=0, so in this case K should be lag4_var as lag4_var is the most recent number for lag#_var.&lt;/P&gt;
&lt;P&gt;For observation with ID=2 and year=2003, treat=1, and in this case K should be lag7_var as lag7_var is the first and earliest lag#_var that is greater than 10.&lt;/P&gt;
&lt;P&gt;So as a result, I want to have the following dataset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 384pt;" border="0" width="512" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;year&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_4var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_5var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_6var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_7var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;treat&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;K&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1990&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1991&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1992&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1993&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2001&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2002&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2003&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 20 Jan 2020 15:36:14 GMT</pubDate>
    <dc:creator>aj_goodnews</dc:creator>
    <dc:date>2020-01-20T15:36:14Z</dc:date>
    <item>
      <title>how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618575#M181487</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset as follow,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 336pt;" border="0" width="448" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;year&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_4var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_5var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_6var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_7var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;treat&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1990&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1991&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1992&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1993&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2001&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2002&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2003&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;lag4_var = lag4(var) where var is a measurement of firm size for each ID/quarter. Similarly, lag5_var is the value of the 5&lt;SUP&gt;th&lt;/SUP&gt; previous quarterly ‘var’ and lag6_var is the value of the 6&lt;SUP&gt;th&lt;/SUP&gt; previous quarterly ‘var’, and so on.&lt;/P&gt;
&lt;P&gt;Treat is a dummy variable equals 1 if any of lag#_var greater than or equals to 10,&amp;nbsp; or it equals 0 if all the lag#_var are less than 10.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to create a new variable, K. For observations with treat=1, K equals the earliest lag#_var that is greater than 10. For observations with treat=0. K equals the latest (most current) lag#_var.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, for observation with ID=1 and year=1990, treat=0, so in this case K should be lag4_var as lag4_var is the most recent number for lag#_var.&lt;/P&gt;
&lt;P&gt;For observation with ID=2 and year=2003, treat=1, and in this case K should be lag7_var as lag7_var is the first and earliest lag#_var that is greater than 10.&lt;/P&gt;
&lt;P&gt;So as a result, I want to have the following dataset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 384pt;" border="0" width="512" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;year&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_4var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_5var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_6var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_7var&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;treat&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;K&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1990&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1991&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;7&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1992&lt;/TD&gt;
&lt;TD align="right"&gt;9&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1993&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2001&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2002&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2003&lt;/TD&gt;
&lt;TD align="right"&gt;13&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;11&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;14&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jan 2020 15:36:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618575#M181487</guid>
      <dc:creator>aj_goodnews</dc:creator>
      <dc:date>2020-01-20T15:36:14Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618577#M181488</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID	year	lag_4var	lag_5var	lag_6var	lag_7var	treat;
cards;
1	1990	6	7	8	9	0
1	1991	11	7	8	9	1
1	1992	9	4	5	13	1
1	1993	12	13	14	11	1
2	2001	8	11	12	8	1
2	2002	6	12	5	6	1
2	2003	13	5	11	14	1
;
data want;
 set have;
 array l lag_4var--lag_7var;
 if treat then do over l;
  if l&amp;gt;10 then k=l;
 end;
 else k=lag_4var;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;To address&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;&lt;SPAN class="token keyword"&gt;ID&lt;/SPAN&gt;	&lt;SPAN class="token function"&gt;year&lt;/SPAN&gt;	lag_4var	lag_5var	lag_6var	lag_7var	treat
&lt;SPAN class="token number"&gt;3&lt;/SPAN&gt;      &lt;SPAN class="token number"&gt;2000&lt;/SPAN&gt;    &lt;SPAN class="token number"&gt;10&lt;/SPAN&gt;             &lt;SPAN class="token number"&gt;9&lt;/SPAN&gt;                &lt;SPAN class="token number"&gt;8&lt;/SPAN&gt;           &lt;SPAN class="token number"&gt;7&lt;/SPAN&gt;             &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So in this case, K=1 and the earliest lag#_var greater or equal to 10 is lag_4var, so K=10&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
 set have;
 array l lag_4var--lag_7var;
 if treat then do over l;
  if l&amp;gt;10 then k=l;
  else k=lag_4var;
 end;
 else k=lag_4var;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Jan 2020 16:00:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618577#M181488</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-20T16:00:53Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618578#M181489</link>
      <description>&lt;P&gt;How would you score the following record?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ID	year	lag_4var	lag_5var	lag_6var	lag_7var	treat
3      2000    10             9                8           7             1
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jan 2020 15:51:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618578#M181489</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2020-01-20T15:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618579#M181490</link>
      <description>So in this case, K=1 and the earliest lag#_var greater or equal to 10 is lag_4var, so K=10</description>
      <pubDate>Mon, 20 Jan 2020 15:55:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618579#M181490</guid>
      <dc:creator>aj_goodnews</dc:creator>
      <dc:date>2020-01-20T15:55:44Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618581#M181491</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN class="login-bold"&gt;&lt;A id="link_8" class="lia-link-navigation lia-page-link lia-user-name-link" href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205" target="_self"&gt;novinosrin&lt;/A&gt;&amp;nbsp;thanks for your reply and it works out perfectly.&amp;nbsp; Now if I want to twist the results a little bit, for example,&amp;nbsp; for observations with treat=1, K equals the average value of all lag#_var that are greater than or equals 10. For observations with treat=0. K equals the average value of&amp;nbsp; lag#_var that are less than 10, do you think it is still possible to get?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jan 2020 16:01:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618581#M181491</guid>
      <dc:creator>aj_goodnews</dc:creator>
      <dc:date>2020-01-20T16:01:06Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618582#M181492</link>
      <description>I think I forgot to put greater than or equal to 10 in my original posts, which caused your question. I apologize for that</description>
      <pubDate>Mon, 20 Jan 2020 16:02:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618582#M181492</guid>
      <dc:creator>aj_goodnews</dc:creator>
      <dc:date>2020-01-20T16:02:54Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618583#M181493</link>
      <description>&lt;P&gt;Hi, based on your explanation I think you are looking for something like the following.&lt;BR /&gt;Note I used 7 as my cut off to fit my sample input data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Set up sample input data */

data input ;
	infile cards ;
	input var ;	
	lagVar1=lag1(var) ;
	lagVar2=lag2(var) ;
	lagVar3=lag3(var) ;
	lagVar4=lag4(var) ;
cards;
3
2
8
4
6
7
1
3
2
9
3
4
6
7
;

run ;

/* generate output */
data ouput (drop=i) ;
	set input ;
	/* Load lag values into an array */
	array lags{4} lagVar1-lagVar4 ;
	/* Set treat and k to 0 */
	treat=0 ;
	k=0 ;
	/* Loop through array backwards, starting with oldest lag value to most recent lag value */
	do i=4 to 1 by -1 ;
		/* if the lag value exceeds your trigger */
		if lags{i}&amp;gt;7 then do ;
			/* Set treat to 1 */
			treat=1 ;
			/* if k=0 */
			if k=0 then 
				/* then store the lag value */
				k=lags{i} ;
		end ;
	end ;
	/* if k=0 */
	if k=0 then
		/* set k to the most recent lag value */
		k=lags{1} ;
run ;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Jan 2020 16:07:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618583#M181493</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2020-01-20T16:07:40Z</dc:date>
    </item>
    <item>
      <title>Re: how to create new variable by selecting from previous variable based on different timelines</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618584#M181494</link>
      <description>&lt;P&gt;Yes, slight tweak if I understand you correctly&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 l lag_4var--lag_7var;
 if treat then do over l;
  if l&amp;gt;=10 then do;
   sum=sum(sum,l);
   n=sum(n,1);
  end;
 end;
 else do over l;
  if l&amp;lt;10 then do;
   sum=sum(sum,l);
   n=sum(n,1);
  end;
 end;
 k=sum/n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 20 Jan 2020 16:07:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-new-variable-by-selecting-from-previous-variable/m-p/618584#M181494</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-01-20T16:07:58Z</dc:date>
    </item>
  </channel>
</rss>

