<?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 Creating a new variable based on multiple conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622975#M183302</link>
    <description>&lt;P&gt;Hi I require some help on the below. Want is the field I wish to create, I have also put a description of what I am trying to obtain:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;FLAG&lt;/TD&gt;&lt;TD&gt;VAR1&lt;/TD&gt;&lt;TD&gt;VAR2&lt;/TD&gt;&lt;TD&gt;WANT&lt;/TD&gt;&lt;TD&gt;Description for explanation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;13.5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;14.5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;92&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Current SAS code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data data2;
	set data1;

	by id;

	retain want;
	if first.id then want=0.00;
	else if flag=2 then want=var1;
	else if flag=1 then want=var1-var2;
	else want+0; /* without just get . , with get 0 */
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 07 Feb 2020 09:17:19 GMT</pubDate>
    <dc:creator>lm12abh</dc:creator>
    <dc:date>2020-02-07T09:17:19Z</dc:date>
    <item>
      <title>Creating a new variable based on multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622975#M183302</link>
      <description>&lt;P&gt;Hi I require some help on the below. Want is the field I wish to create, I have also put a description of what I am trying to obtain:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;FLAG&lt;/TD&gt;&lt;TD&gt;VAR1&lt;/TD&gt;&lt;TD&gt;VAR2&lt;/TD&gt;&lt;TD&gt;WANT&lt;/TD&gt;&lt;TD&gt;Description for explanation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;13.5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;14.5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;92&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Current SAS code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data data2;
	set data1;

	by id;

	retain want;
	if first.id then want=0.00;
	else if flag=2 then want=var1;
	else if flag=1 then want=var1-var2;
	else want+0; /* without just get . , with get 0 */
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 09:17:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622975#M183302</guid>
      <dc:creator>lm12abh</dc:creator>
      <dc:date>2020-02-07T09:17:19Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable based on multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622979#M183303</link>
      <description>&lt;P&gt;How does your current result differ from the wanted result you posted?&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 09:30:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622979#M183303</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-02-07T09:30:10Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable based on multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622984#M183306</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/266053"&gt;@lm12abh&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Correct me if I'm wrong but it seems that you want to display 2 decimals (e.g. not 0 but 0.00).&lt;/P&gt;
&lt;P&gt;You can do that with a FORMAT Statement.&lt;/P&gt;
&lt;P&gt;NB: There is no need to write want = 0.00 as it is exactly the same as want=0.&lt;/P&gt;
&lt;P&gt;Idem for else want+0 as you have the value is already retained.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My best,&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data data2;
	set data1;

	by id;
	format want 8.2;
	retain want;
	if first.id then want=0;
	else if flag=2 then want=var1;
	else if flag=1 then want=var1-var2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture d’écran 2020-02-07 à 10.43.51.png" style="width: 164px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/35920i2BDABDED51AF7E3A/image-size/small?v=v2&amp;amp;px=200" role="button" title="Capture d’écran 2020-02-07 à 10.43.51.png" alt="Capture d’écran 2020-02-07 à 10.43.51.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 09:44:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/622984#M183306</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-02-07T09:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable based on multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/623038#M183329</link>
      <description>&lt;P&gt;Hi sorry I for got to mention. In the case where there is a flag=0 but the bucket before is non zero, Ishould have the same value as above. Instead I have a zero. (Issue highlighted in red).&lt;/P&gt;&lt;P&gt;What I have now:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;FLAG&lt;/TD&gt;&lt;TD&gt;VAR1&lt;/TD&gt;&lt;TD&gt;VAR2&lt;/TD&gt;&lt;TD&gt;WANT&lt;/TD&gt;&lt;TD&gt;Description for explanation&lt;/TD&gt;&lt;TD&gt;Have now&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;TD&gt;12.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=VAR1&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;13.5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;12.9&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#ff0000"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;14.5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;92&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=FIRST.ID=0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;=WANT RECORD BEFORE&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;456&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;TD&gt;=VAR1-VAR2&lt;/TD&gt;&lt;TD&gt;97&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 13:03:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/623038#M183329</guid>
      <dc:creator>lm12abh</dc:creator>
      <dc:date>2020-02-07T13:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a new variable based on multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/623041#M183330</link>
      <description>&lt;P&gt;Thanks, Yes I already have a format statement (I didn't include that part of the code) good to know it wont affect it.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 13:08:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-new-variable-based-on-multiple-conditions/m-p/623041#M183330</guid>
      <dc:creator>lm12abh</dc:creator>
      <dc:date>2020-02-07T13:08:00Z</dc:date>
    </item>
  </channel>
</rss>

