<?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: Assign value based on status in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766085#M242736</link>
    <description>&lt;P&gt;Thank you so much Reeza and Ksharp,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I combined your solutions because i needed to modify the outcome a bit. I did not know that the sum function could be used this way.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;case when max(state) = min(state) &amp;amp; max(state)= "F" then "Good"&lt;BR /&gt;when max(state) = min(state) &amp;amp; max(state)= "B" then "Bad"&lt;BR /&gt;when sum(state= 'F') &amp;gt; SUM(state= 'B') THEN 'G&amp;gt;B'&lt;BR /&gt;when sum(state= 'F') &amp;lt; SUM(state= 'B') THEN 'G&amp;lt;B'&lt;BR /&gt;when sum(state= 'F') = SUM(state= 'B') THEN 'G=B'&lt;BR /&gt;else '' end as Type&lt;/P&gt;</description>
    <pubDate>Sun, 05 Sep 2021 04:04:01 GMT</pubDate>
    <dc:creator>TheNovice</dc:creator>
    <dc:date>2021-09-05T04:04:01Z</dc:date>
    <item>
      <title>Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/765914#M242660</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Trying to think the best way to do below.. I have multiple records for ID's and each ID has an end state every month ( F or B)&lt;/P&gt;&lt;P&gt;where ID's are always F, i want to tag them as Good. Where always B, I want to tag them as Bad and mixed when it is a mix&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Would appreciate any and all inputs&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;STATE&lt;/TD&gt;&lt;TD&gt;TYPE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;MIXED&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;MIXED&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;MIXED&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;MIXED&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;BAD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;BAD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;BAD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;BAD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;GOOD&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 03 Sep 2021 19:20:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/765914#M242660</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-03T19:20:47Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/765917#M242663</link>
      <description>&lt;P&gt;SQL is nice here, aggregate functions work on character columns. So if the max is equal to the min then all values are the same.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as 
select *, case when max(state) = min(state) &amp;amp; max(state)= "F" then "Good"
                       when max(state) = min(state) &amp;amp; max(state)= "B" then "Bad"
                       else "MIXED" END as Type
from have
group by ID;
quit;

             &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EDIT: Fixed an issue with the SQL&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Sep 2021 19:58:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/765917#M242663</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-09-03T19:58:54Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766024#M242703</link>
      <description>Are you both the same person ?&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Creating-one-variable-per-multiple-rows-per-ID/m-p/765865#M242623" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/Creating-one-variable-per-multiple-rows-per-ID/m-p/765865#M242623&lt;/A&gt;</description>
      <pubDate>Sat, 04 Sep 2021 11:20:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766024#M242703</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-09-04T11:20:58Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766052#M242723</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
	create table type as 
	
	select ID,count(ID) as count, sum(state='F') as F, sum(state='B') as B,
	case when count(ID) = sum(state='F') then 'GOOD'
	when count(ID)=sum(state='B') then 'BAD'
	else 'MIXED' end as type
		from import1
		group by ID;
		
	select i.*, type
		from import2  as i
		left join type as t
		on t.ID=i.ID;
		
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 04 Sep 2021 20:09:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766052#M242723</guid>
      <dc:creator>tarheel13</dc:creator>
      <dc:date>2021-09-04T20:09:28Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766084#M242735</link>
      <description>Hi Ksharp, nope. just a coincidence. Thanks for the reply!</description>
      <pubDate>Sun, 05 Sep 2021 03:46:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766084#M242735</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-05T03:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766085#M242736</link>
      <description>&lt;P&gt;Thank you so much Reeza and Ksharp,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I combined your solutions because i needed to modify the outcome a bit. I did not know that the sum function could be used this way.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;case when max(state) = min(state) &amp;amp; max(state)= "F" then "Good"&lt;BR /&gt;when max(state) = min(state) &amp;amp; max(state)= "B" then "Bad"&lt;BR /&gt;when sum(state= 'F') &amp;gt; SUM(state= 'B') THEN 'G&amp;gt;B'&lt;BR /&gt;when sum(state= 'F') &amp;lt; SUM(state= 'B') THEN 'G&amp;lt;B'&lt;BR /&gt;when sum(state= 'F') = SUM(state= 'B') THEN 'G=B'&lt;BR /&gt;else '' end as Type&lt;/P&gt;</description>
      <pubDate>Sun, 05 Sep 2021 04:04:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766085#M242736</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-05T04:04:01Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766086#M242737</link>
      <description>FYI&amp;lt;, thanks for directing me. your post showed me a different way to use the sum function and i modified the outcome a bit</description>
      <pubDate>Sun, 05 Sep 2021 04:05:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766086#M242737</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-05T04:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766087#M242738</link>
      <description>Hi Irackley, thank you for the post but it didn't work. Could you explain the import1 and import2 datasets?</description>
      <pubDate>Sun, 05 Sep 2021 04:06:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766087#M242738</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-05T04:06:32Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766091#M242742</link>
      <description>You didn’t post your data as datalines so I had to import it myself</description>
      <pubDate>Sun, 05 Sep 2021 06:36:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766091#M242742</guid>
      <dc:creator>tarheel13</dc:creator>
      <dc:date>2021-09-05T06:36:01Z</dc:date>
    </item>
    <item>
      <title>Re: Assign value based on status</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766698#M243003</link>
      <description>Got it and I ran the query and it worked as well. thanks!</description>
      <pubDate>Wed, 08 Sep 2021 21:02:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-value-based-on-status/m-p/766698#M243003</guid>
      <dc:creator>TheNovice</dc:creator>
      <dc:date>2021-09-08T21:02:36Z</dc:date>
    </item>
  </channel>
</rss>

