<?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: Logic Question in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812929#M320759</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt; I'm not sure if this helps, if you have any suggestions I apreciate it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code below: there is a variable called "aor_code" that contains all agency codes used for reporting. In the query below a Case Statement is used to break down the "aor_code" into different levels; TOH_AGENCY, LEVEL_DOWN 2, Level 3. I am currently creating reports for all agency's listed in the TOH_AGENCY list by using a where staement to filter for only those. I'm trying to determine the best way to create logic to incorporate reporting for Level 2's, then Level 3. I suppose I could create another egp file, and filter for only levels 2's in a where statement. that seems a bit cumberson to me but I think it would work.&amp;nbsp;&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 Reporting3 as
		select distinct
			a.agency_name, 
			a.aor_code,  
			a.agency_type,
			a.'Level 3'n as 'LEVEL 3'n,
			case 
			when a.'Level 2'n is null then a.aor_code
			else a.'Level 2'n end as 'LEVEL_DOWN 2'n,
			case 
			when a.TOH_agency is null then a.aor_code
			else a.TOH_agency end as 'TOH_AGENCY'n,
            compbl(strip(cat(propcase(a.agents_name)," ",propcase(a.agents_last_name)))) as AGENT_NAME,
			a.role,
			a.agent_individual_writing_number,
			a.license,    
			a.agent_npn,
			a.agent_email_address,
			a.agent_work_phone_number,
			propcase(a.cty_nm) as CTY_NM,
			a.usps_stt_cd,
			a.zip_code,
			a.county,
			a.rts_goals_per_county,
			a.broker_managers,
			a.assigned_broker_manager,
			a.cms_pass_fail,
			a.cms_cert_eff_date,
			a.cms_cert_term_date,
			b.SITE_LICENSES as AHIP_ON_FILE,
			b.ahip_status,
			a.course_title, 
			a.certification_status,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is missing then 1 else 0 
				end as CHECK_AHIP,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is not missing then 1 else 0 
				end as TRAIN_INDICATOR,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is missing then 'AHIP NEEDED' /*else 'AHIP OnFile'*/
				end as CHECK_AHIP_2 length=25,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is not missing then 'READY TO TRAIN' /*else 'Not RTT'*/
				end as TRAIN_INDICATOR_2
	from Reporting2 a
		left join cpm1p1.ahip_dmp b
			on a.agent_npn = b.npn
		where a.aor_code not in ('K001','K003')
		where 
 (a.aor_code in ('5700','5724','S001','S006','S009','S010','S011','S012','S013','S014','S015','S016','S017','S018','S019','S020','S021','S022','S023','S024','S025','S026', 'S027')
  or  a.aor_code like ('K%')
	or a.aor_code like ('k%'))
	group by 
		a.agent_npn
	order by a.aor_code asc;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 12 May 2022 12:29:12 GMT</pubDate>
    <dc:creator>LMSSAS</dc:creator>
    <dc:date>2022-05-12T12:29:12Z</dc:date>
    <item>
      <title>Logic Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812810#M320715</link>
      <description>&lt;P&gt;Hello - I would like to get your opinions / suggestions on how to best creat specific logic in SAS. I have the following heirachy table in SAS. I am currently creating reports for TOH_AGENCY's only (based on their code) and I now need to incorporate the LEVEL_DOWN 2 codes into the reporting but not where LEVEL_DOWN 2 agency code equals TOH_AGENCY. Then I need to incorporate the LEVEL 3 into the reporting but not where LEVEL 3 agency code equals LEVEL_DOWN 2&amp;nbsp; or TOH_AGENCY. Lastly, I need to incorporate reports for&amp;nbsp;AOR_CODE, where&amp;nbsp;AOR_CODE is not equal to TOH_AGENCY or&amp;nbsp;LEVEL_DOWN 2 or&amp;nbsp;LEVEL 3.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would appreciate any suggestions you have. Thank you!!&lt;/P&gt;
&lt;TABLE width="331"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="90"&gt;TOH_AGENCY&lt;/TD&gt;
&lt;TD width="102"&gt;LEVEL_DOWN 2&lt;/TD&gt;
&lt;TD width="64"&gt;LEVEL 3&lt;/TD&gt;
&lt;TD width="75"&gt;AOR_CODE&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5700&lt;/TD&gt;
&lt;TD&gt;5700&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;5700&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5724&lt;/TD&gt;
&lt;TD&gt;5724&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;5724&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K023&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K023&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K031&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K031&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K032&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K032&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K062&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K062&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K077&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K077&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K088&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K088&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K116&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K116&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K150&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K311&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K311&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K337&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K337&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K355&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K355&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K356&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K356&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K367&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K367&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K380&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K380&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K381&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K381&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K002&lt;/TD&gt;
&lt;TD&gt;K411&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K411&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K040&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K042&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K069&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K143&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K145&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K169&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K184&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K241&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K358&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K008&lt;/TD&gt;
&lt;TD&gt;K378&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K010&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K010&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K011&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;K011&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;K004&lt;/TD&gt;
&lt;TD&gt;K011&lt;/TD&gt;
&lt;TD&gt;K011&lt;/TD&gt;
&lt;TD&gt;K275&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Wed, 11 May 2022 21:19:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812810#M320715</guid>
      <dc:creator>LMSSAS</dc:creator>
      <dc:date>2022-05-11T21:19:36Z</dc:date>
    </item>
    <item>
      <title>Re: Logic Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812817#M320718</link>
      <description>Depends on how the reporting was incorporating the codes....unfortunately the question is too vague to comment at this point.</description>
      <pubDate>Wed, 11 May 2022 21:52:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812817#M320718</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-05-11T21:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: Logic Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812929#M320759</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt; I'm not sure if this helps, if you have any suggestions I apreciate it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code below: there is a variable called "aor_code" that contains all agency codes used for reporting. In the query below a Case Statement is used to break down the "aor_code" into different levels; TOH_AGENCY, LEVEL_DOWN 2, Level 3. I am currently creating reports for all agency's listed in the TOH_AGENCY list by using a where staement to filter for only those. I'm trying to determine the best way to create logic to incorporate reporting for Level 2's, then Level 3. I suppose I could create another egp file, and filter for only levels 2's in a where statement. that seems a bit cumberson to me but I think it would work.&amp;nbsp;&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 Reporting3 as
		select distinct
			a.agency_name, 
			a.aor_code,  
			a.agency_type,
			a.'Level 3'n as 'LEVEL 3'n,
			case 
			when a.'Level 2'n is null then a.aor_code
			else a.'Level 2'n end as 'LEVEL_DOWN 2'n,
			case 
			when a.TOH_agency is null then a.aor_code
			else a.TOH_agency end as 'TOH_AGENCY'n,
            compbl(strip(cat(propcase(a.agents_name)," ",propcase(a.agents_last_name)))) as AGENT_NAME,
			a.role,
			a.agent_individual_writing_number,
			a.license,    
			a.agent_npn,
			a.agent_email_address,
			a.agent_work_phone_number,
			propcase(a.cty_nm) as CTY_NM,
			a.usps_stt_cd,
			a.zip_code,
			a.county,
			a.rts_goals_per_county,
			a.broker_managers,
			a.assigned_broker_manager,
			a.cms_pass_fail,
			a.cms_cert_eff_date,
			a.cms_cert_term_date,
			b.SITE_LICENSES as AHIP_ON_FILE,
			b.ahip_status,
			a.course_title, 
			a.certification_status,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is missing then 1 else 0 
				end as CHECK_AHIP,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is not missing then 1 else 0 
				end as TRAIN_INDICATOR,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is missing then 'AHIP NEEDED' /*else 'AHIP OnFile'*/
				end as CHECK_AHIP_2 length=25,
			case when role = "Agent" and max(year(CMS_CERT_TERM_DATE)) ne 2022 and b.SITE_LICENSES is not missing then 'READY TO TRAIN' /*else 'Not RTT'*/
				end as TRAIN_INDICATOR_2
	from Reporting2 a
		left join cpm1p1.ahip_dmp b
			on a.agent_npn = b.npn
		where a.aor_code not in ('K001','K003')
		where 
 (a.aor_code in ('5700','5724','S001','S006','S009','S010','S011','S012','S013','S014','S015','S016','S017','S018','S019','S020','S021','S022','S023','S024','S025','S026', 'S027')
  or  a.aor_code like ('K%')
	or a.aor_code like ('k%'))
	group by 
		a.agent_npn
	order by a.aor_code asc;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 May 2022 12:29:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Logic-Question/m-p/812929#M320759</guid>
      <dc:creator>LMSSAS</dc:creator>
      <dc:date>2022-05-12T12:29:12Z</dc:date>
    </item>
  </channel>
</rss>

