<?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 Do I create a ID based on a prior observation? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487609#M287305</link>
    <description>&lt;P&gt;If I had these values in excel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BR&amp;nbsp; &amp;nbsp; &amp;nbsp;VALUE&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7184&lt;BR /&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9759&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6780&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6398&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5776&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3719&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and&amp;nbsp;I used this formula in excel IF(A2=1,B2,B1)&lt;/P&gt;&lt;P&gt;I would get this.&lt;/P&gt;&lt;P&gt;BR&amp;nbsp; &amp;nbsp; &amp;nbsp;VALUE&amp;nbsp; &amp;nbsp; ID&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7184&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9759&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7184&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6780&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6398&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7107&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5776&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3719&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I do the same thing in SAS?&lt;/P&gt;</description>
    <pubDate>Fri, 17 Aug 2018 00:01:04 GMT</pubDate>
    <dc:creator>southbaymax</dc:creator>
    <dc:date>2018-08-17T00:01:04Z</dc:date>
    <item>
      <title>How Do I create a ID based on a prior observation?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487609#M287305</link>
      <description>&lt;P&gt;If I had these values in excel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BR&amp;nbsp; &amp;nbsp; &amp;nbsp;VALUE&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7184&lt;BR /&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9759&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6780&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6398&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5776&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3719&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and&amp;nbsp;I used this formula in excel IF(A2=1,B2,B1)&lt;/P&gt;&lt;P&gt;I would get this.&lt;/P&gt;&lt;P&gt;BR&amp;nbsp; &amp;nbsp; &amp;nbsp;VALUE&amp;nbsp; &amp;nbsp; ID&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7184&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9759&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7184&lt;BR /&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9988&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6780&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6398&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9988&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7107&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5776&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3719&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7107&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I do the same thing in SAS?&lt;/P&gt;</description>
      <pubDate>Fri, 17 Aug 2018 00:01:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487609#M287305</guid>
      <dc:creator>southbaymax</dc:creator>
      <dc:date>2018-08-17T00:01:04Z</dc:date>
    </item>
    <item>
      <title>Re: How Do I create a ID based on a prior observation?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487611#M287306</link>
      <description>&lt;P&gt;It's a little convoluted because of the need to keep the first ID blank.&amp;nbsp; If I understand it correctly:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;if BR=1 then latest_value = value;&lt;/P&gt;
&lt;P&gt;retain latest_value;&lt;/P&gt;
&lt;P&gt;if _n_ &amp;gt; 1 then value = latest_value;&lt;/P&gt;
&lt;P&gt;drop latest_value;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That should work for the data you posted.&amp;nbsp; I'm just not 100% certain of the requirements for some of the possibilities such as what happens if BR=0 for the first observation.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Aug 2018 00:55:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487611#M287306</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-08-17T00:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: How Do I create a ID based on a prior observation?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487640#M287307</link>
      <description>&lt;P&gt;Just to elaborate a bit on the code posted by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;and formatting it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.table_1;
	input br value;
	datalines;
1        7184
0        9759
1        9988
0        6780
0        6398
1        7107
0        5776
0        3719
;
run;

* _id is a temp variable which stores the latest value where br is 1;
data work.table_2(drop=_id);
	length id 8.;
	set work.table_1;
	
	if br=1 then
		_id = value;

	* _N_ contains the current iteration number;
	if _N_ &amp;gt; 1 then
		id = _id;

	* retains the value from iteration to iteration;
	retain _id;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 Aug 2018 06:34:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-Do-I-create-a-ID-based-on-a-prior-observation/m-p/487640#M287307</guid>
      <dc:creator>Criptic</dc:creator>
      <dc:date>2018-08-17T06:34:14Z</dc:date>
    </item>
  </channel>
</rss>

