<?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: Proc SQL conditional count in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/770911#M244554</link>
    <description>&lt;P&gt;I would employ boolean logic here which is an elegant approach to get counts of any combination of conditions.&lt;/P&gt;
&lt;P&gt;if you'd like to learn more about this technique, come attend my&amp;nbsp; &lt;A href="https://communities.sas.com/t5/SAS-Procedures/Free-Live-Webinar-Top-5-Handy-PROC-SQL-Tips/m-p/770710" target="_blank" rel="noopener"&gt;Ask-the-Expert Webinar&lt;/A&gt; on 5 Oct.&lt;/P&gt;
&lt;P&gt;Here's one way I would craft code to get those counts you are looking for.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select&lt;BR /&gt;sum(Medication='A') as AnyA,&lt;BR /&gt;sum(formulation ne "Oral" and Medication='A') as AllANotOral&lt;BR /&gt;from doctor&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;the results are as follows.&lt;/P&gt;
&lt;TABLE class="table" aria-label="Query Results"&gt;&lt;CAPTION aria-label="Query Results"&gt;&amp;nbsp;&lt;/CAPTION&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r b header" scope="col"&gt;AnyA&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;AllANotOral&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Tue, 28 Sep 2021 14:50:41 GMT</pubDate>
    <dc:creator>sqlGoddess</dc:creator>
    <dc:date>2021-09-28T14:50:41Z</dc:date>
    <item>
      <title>Proc SQL conditional count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/689577#M209647</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am trying to use the COUNT statement with PROC SQL to perform 2 separate conditional counts from a dataset. I would like to perform the following two counts from my dataset: 1) All patients who have received any formulation of Medication A, and 2) All patients who have received formulations &lt;U&gt;other than Oral formulations&lt;/U&gt; of Medication A (i.e., those who have received &lt;U&gt;only oral formations would be excluded&lt;/U&gt; from the count; those who have received&lt;U&gt; both non-oral and oral formulations would be included&lt;/U&gt;). I have included a sample of my data set below as well as my desired output. Any help with how to code this would be much appreciated!&lt;/P&gt;&lt;P&gt;Have:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Patient_ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Medication&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Formulation&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Injection&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Injection&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Injection&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Injection&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Sublingual&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Subcutaneous&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Oral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Count_Medication_A_Any&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Count_Medication_A_NotOral&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 07 Oct 2020 15:06:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/689577#M209647</guid>
      <dc:creator>wj2</dc:creator>
      <dc:date>2020-10-07T15:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL conditional count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/689599#M209657</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select
	count(distinct patient_id) as a_any,
	count(distinct case when formulation ne "Oral" then patient_id else . end) as notOral
from myData
where Medication = "A";
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 07 Oct 2020 15:39:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/689599#M209657</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-10-07T15:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL conditional count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/770911#M244554</link>
      <description>&lt;P&gt;I would employ boolean logic here which is an elegant approach to get counts of any combination of conditions.&lt;/P&gt;
&lt;P&gt;if you'd like to learn more about this technique, come attend my&amp;nbsp; &lt;A href="https://communities.sas.com/t5/SAS-Procedures/Free-Live-Webinar-Top-5-Handy-PROC-SQL-Tips/m-p/770710" target="_blank" rel="noopener"&gt;Ask-the-Expert Webinar&lt;/A&gt; on 5 Oct.&lt;/P&gt;
&lt;P&gt;Here's one way I would craft code to get those counts you are looking for.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select&lt;BR /&gt;sum(Medication='A') as AnyA,&lt;BR /&gt;sum(formulation ne "Oral" and Medication='A') as AllANotOral&lt;BR /&gt;from doctor&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;the results are as follows.&lt;/P&gt;
&lt;TABLE class="table" aria-label="Query Results"&gt;&lt;CAPTION aria-label="Query Results"&gt;&amp;nbsp;&lt;/CAPTION&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r b header" scope="col"&gt;AnyA&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;AllANotOral&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 28 Sep 2021 14:50:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-conditional-count/m-p/770911#M244554</guid>
      <dc:creator>sqlGoddess</dc:creator>
      <dc:date>2021-09-28T14:50:41Z</dc:date>
    </item>
  </channel>
</rss>

