<?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 Classify records based on Two columns in SAS Data Step in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799904#M81644</link>
    <description>&lt;P&gt;I need to classify each unique ID based on two columns. One is academic level, and 2nd one is Intensity_FLG. So within each Academic_Level, if the sum of INTENSITY_FLG &amp;gt;0, then this ID should be classified as Full-time, otherwise, this ID will be classified as Part-time. Not sure what goes wrong, the output only populates partial values for that created column ENR_Intensity, and some IDs are still classified based on each row. The Intensity_FLG is based on each record for each ID. For example, U24654 has three records on Intensity_FLG, one of them is 1, so this ID should be classified as Full-time for all three rows. How should I change my code? Thanks.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA ENR_2;
SET ENR;
IF SUM(LEVEL_FLG) &amp;lt;0 THEN Academic_Level='NonDegree';
ELSE IF SUM(LEVEL_FLG) &amp;gt;0 THEN Academic_Level= 'Graduate';
ELSE Academic_Level= 'Undergraduate';
&lt;BR /&gt;IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;run;
&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="382"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;UID&lt;/TD&gt;
&lt;TD width="101"&gt;INTENSITY_FLG&lt;/TD&gt;
&lt;TD width="108"&gt;Academic_Level&lt;/TD&gt;
&lt;TD width="101"&gt;ENR_Intensity&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U13873&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U25049&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U64514&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U81899&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Thu, 03 Mar 2022 16:49:06 GMT</pubDate>
    <dc:creator>xliu1</dc:creator>
    <dc:date>2022-03-03T16:49:06Z</dc:date>
    <item>
      <title>Classify records based on Two columns in SAS Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799904#M81644</link>
      <description>&lt;P&gt;I need to classify each unique ID based on two columns. One is academic level, and 2nd one is Intensity_FLG. So within each Academic_Level, if the sum of INTENSITY_FLG &amp;gt;0, then this ID should be classified as Full-time, otherwise, this ID will be classified as Part-time. Not sure what goes wrong, the output only populates partial values for that created column ENR_Intensity, and some IDs are still classified based on each row. The Intensity_FLG is based on each record for each ID. For example, U24654 has three records on Intensity_FLG, one of them is 1, so this ID should be classified as Full-time for all three rows. How should I change my code? Thanks.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA ENR_2;
SET ENR;
IF SUM(LEVEL_FLG) &amp;lt;0 THEN Academic_Level='NonDegree';
ELSE IF SUM(LEVEL_FLG) &amp;gt;0 THEN Academic_Level= 'Graduate';
ELSE Academic_Level= 'Undergraduate';
&lt;BR /&gt;IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;run;
&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="382"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;UID&lt;/TD&gt;
&lt;TD width="101"&gt;INTENSITY_FLG&lt;/TD&gt;
&lt;TD width="108"&gt;Academic_Level&lt;/TD&gt;
&lt;TD width="101"&gt;ENR_Intensity&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U13873&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U25049&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U64514&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U81899&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Thu, 03 Mar 2022 16:49:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799904#M81644</guid>
      <dc:creator>xliu1</dc:creator>
      <dc:date>2022-03-03T16:49:06Z</dc:date>
    </item>
    <item>
      <title>Re: Classify records based on Two columns in SAS Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799924#M81645</link>
      <description>&lt;P&gt;Sort your data so that intensity flag is 1 in the first record and retain the flag. SAS does operate on each row individually, so otherwise you need to either calculate the value separately and merge it in or you need to use SQL.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have;
by uid  academic_level descending intensity_flg;
run;

data want;
set have;
by uid academic_level;
retain enr_intensity;
if first.academic_level and intensity_flag=1 then enr_intensity='Full-Time';
else enr_intensity='Part-Time';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or add the sum as a new column and use that to classify.&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 *, sum(intensity_flg) as total_intensity
/*,case when total_intensity &amp;gt;=1 then 'Full-time'
else 'Part-Time' end as ENR_INTENSITY*/
from have
group by 
uid, intensity_flg;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/317497"&gt;@xliu1&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I need to classify each unique ID based on two columns. One is academic level, and 2nd one is Intensity_FLG. So within each Academic_Level, if the sum of INTENSITY_FLG &amp;gt;0, then this ID should be classified as Full-time, otherwise, this ID will be classified as Part-time. Not sure what goes wrong, the output only populates partial values for that created column ENR_Intensity, and some IDs are still classified based on each row. The Intensity_FLG is based on each record for each ID. For example, U24654 has three records on Intensity_FLG, one of them is 1, so this ID should be classified as Full-time for all three rows. How should I change my code? Thanks.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA ENR_2;
SET ENR;
IF SUM(LEVEL_FLG) &amp;lt;0 THEN Academic_Level='NonDegree';
ELSE IF SUM(LEVEL_FLG) &amp;gt;0 THEN Academic_Level= 'Graduate';
ELSE Academic_Level= 'Undergraduate';
&lt;BR /&gt;IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';&lt;BR /&gt;ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';&lt;BR /&gt;run;
&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="382"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;UID&lt;/TD&gt;
&lt;TD width="101"&gt;INTENSITY_FLG&lt;/TD&gt;
&lt;TD width="108"&gt;Academic_Level&lt;/TD&gt;
&lt;TD width="101"&gt;ENR_Intensity&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U13873&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U24654&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U25049&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U45431&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U64514&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;NonDegree&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Full-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U66605&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U70374&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Graduate&lt;/TD&gt;
&lt;TD&gt;Part-Time&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U81899&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U82709&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;Undergrad&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 17:20:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799924#M81645</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-03-03T17:20:43Z</dc:date>
    </item>
    <item>
      <title>Re: Classify records based on Two columns in SAS Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799925#M81646</link>
      <description>&lt;P&gt;First, lets post something actually readable:&lt;/P&gt;
&lt;PRE&gt;IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';
ELSE IF Academic_Level='NonDegree' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';
ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';
ELSE IF Academic_Level='Undergraduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time';
ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)&amp;gt;0 THEN ENR_Intensity='Full-Time';
ELSE IF Academic_Level='Graduate' AND SUM (INTENSITY_FLG)=0 THEN ENR_Intensity='Part-Time'&lt;/PRE&gt;
&lt;P&gt;If you expect the SUM to be adding values from multiple observations then you are misunderstanding how a DATASTEP SUM (or Mean, STD, Max, Min) function works. You are only referencing one variable, so only the value of that single variable on that single observation is used so "SUM (INTENSITY_FLG)" is exactly equal to INTENSITY_FLG.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your other main problem likely comes in from this:&lt;/P&gt;
&lt;PRE&gt;IF SUM(LEVEL_FLG) &amp;lt;0 THEN Academic_Level='NonDegree';
ELSE IF SUM(LEVEL_FLG) &amp;gt;0 THEN Academic_Level= 'Graduate';
ELSE Academic_Level= 'Undergraduate';&lt;/PRE&gt;
&lt;P&gt;If the variable Academic_level does not exist on the input data set then it is created on the first line of that IF. Since you do not specify a length for the variable before creation SAS uses the length of the first value "NonDegree" to set the length.&lt;/P&gt;
&lt;P&gt;Which is shorter than Undergraduate. So the value is truncated to "Undergrad", matching the length of NonDegree.&lt;/P&gt;
&lt;P&gt;When attempt to compare the value of the Academic_level = "Undergraduate" that fails because that is not the value of the variable and is never true.&lt;/P&gt;
&lt;P&gt;add this line BEFORE the If to specify a length.&lt;/P&gt;
&lt;PRE&gt;Length Academic_Level $ 13;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example input data in the form of a data step and what you expect for output given that data step might give us a chance to provide what you need.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 17:21:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799925#M81646</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-03-03T17:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: Classify records based on Two columns in SAS Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799933#M81648</link>
      <description>&lt;P&gt;Your description doesn't mention undergrad, grad, and nondegree. It's hard to understand what you have and what you want.&lt;BR /&gt;&lt;BR /&gt;With data like&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input uid $6. intensity_flg;
datalines;
U13873 0
U24654 0
U24654 1
U24654 0
U25049 1
U45431 0
U45431 0
U64514 0
U66605 0
U66605 1
U66605 0
U70374 0
U70374 0
U70374 0
U81899 1
U82709 1
U82709 0
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;most people here would use the data step, sort, loop, and use first.&amp;nbsp; I'm an SQL guy so I use SQL.&lt;BR /&gt;This:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
	select a.uid, a.intensity_flg, b.flag
	from have a left join 
		(select uid, max(intensity_flg) as flag
		from have
		group by uid) b on a.uid = b.uid;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;give this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 144pt;" border="0" width="192" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 30.0pt;"&gt;
&lt;TD width="64" height="40" class="xl63" style="height: 30.0pt; width: 48pt;"&gt;uid&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="width: 48pt;"&gt;intensity_flg&lt;/TD&gt;
&lt;TD width="64" class="xl64" style="width: 48pt;"&gt;flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U13873&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U24654&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U24654&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U24654&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U25049&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U45431&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U45431&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U64514&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U66605&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U66605&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U66605&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U70374&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U70374&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U70374&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U81899&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U82709&lt;/TD&gt;
&lt;TD class="xl66"&gt;0&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl65" style="height: 15.0pt;"&gt;U82709&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;TD class="xl66"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 17:37:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799933#M81648</guid>
      <dc:creator>HB</dc:creator>
      <dc:date>2022-03-03T17:37:43Z</dc:date>
    </item>
    <item>
      <title>Re: Classify records based on Two columns in SAS Data Step</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799968#M81649</link>
      <description>&lt;P&gt;Thank you all for your prompt responses. I was able to get this out.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 21:14:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Classify-records-based-on-Two-columns-in-SAS-Data-Step/m-p/799968#M81649</guid>
      <dc:creator>xliu1</dc:creator>
      <dc:date>2022-03-03T21:14:56Z</dc:date>
    </item>
  </channel>
</rss>

