<?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: How to correctly use CASE when in Proc SQL to count some specific values of a VAR in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312572#M21105</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&lt;BR /&gt;PROC SQL;
   CREATE TABLE MC_ET AS
   SELECT t1.MC, (year(t1.Date)) AS Year,
                sum(case when t1.ET='Lath' then 1 else 0 end) as Count_of_Lath,
                sum(case when t1.ET='Meas' then 1 else 0 end) as count_of_Meas
      FROM have t1
      GROUP BY t1.MC, (CALCULATED Year)
;
QUIT;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 18 Nov 2016 10:14:31 GMT</pubDate>
    <dc:creator>imanojkumar1</dc:creator>
    <dc:date>2016-11-18T10:14:31Z</dc:date>
    <item>
      <title>How to correctly use CASE when in Proc SQL to count some specific values of a VAR</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312561#M21101</link>
      <description>&lt;DIV class="post-text"&gt;&lt;P&gt;I am not getting the results like what I expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my dataset:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have0;
 infile cards truncover expandtabs;
 input MC $ ET $ Date :date9. Time :time. PMC $ PXMC $ Site $ Dia MV SF;
 format date date8. Time HHMM.;
 cards;
US000409 Meas 12Oct2015 17:26 7101 Et1 1 . 2780462.00000 1
US000409 Meas 12Nov2016 17:33 7101 Et1 1 861.26 2780462.00000 1
US000409 Lath 12Oct2015 17:33 7102 Et1 1 861.6 2780462.00000 1
US01036 Meas 12Nov2016 17:26 7101 Et1 2 . 522860.00000 1
US01036 Lath 13Oct2016 17:33 7202 Et1 2 866.68 522860.00000 1
US01036 Meas 13Oct2015 17:33 7101 Et1 2 867.36 522860.00000 1
US02044 Meas 13Nov2016 17:26 7202 Et1 1 . 569298.00000 1
US02044 Lath 13Nov2015 17:33 7202 Et1 1 865.32 569298.00000 1
US02044 Meas 14Nov2016 17:33 7202 Et1 2 865.68 569298.00000 1
US318 Lath 14Nov2016 17:26 7101 Et2 2 . 2630856.00000 1
US318 Meas 14Nov2016 17:33 7202 Et2 3 863.26 2630856.00000 1
US318 Lath 14Nov2016 17:33 7202 Et2 3 863.94 2630856.00000 1
US000409 Meas 15Nov2016 21:56 7202 Et2 3 860.98 2780462.00000 1
US000409 Meas 15Nov2016 21:56 7203 Et2 4 861.5 2780462.00000 1
US01036 Lath 16Nov2016 21:56 7101 Et2 4 866.64 522860.00000 1
US01036 Meas 16Nov2016 21:56 7202 Et2 4 867.34 522860.00000 1
US02044 Lath 17Nov2016 21:56 7203 Et2 1 865.3 569298.00000 1
US02044 Meas 17Nov2016 21:56 7204 Et2 3 865.68 569298.00000 1
US318 Lath 17Nov2016 21:56 7204 Et2 2 863.24 2630856.00000 1
;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I am trying to do is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class="lang-sql prettyprint prettyprinted"&gt;&lt;CODE&gt;&lt;SPAN class="kwd"&gt;PROC&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; SQL&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;;&lt;/SPAN&gt;
   &lt;SPAN class="kwd"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;TABLE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; MC_ET &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;AS&lt;/SPAN&gt; 
   &lt;SPAN class="kwd"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;MC&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; 
            &lt;SPAN class="kwd"&gt;case&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;ET 
                &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;when&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Lath"&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;then&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;ET&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;AS&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; COUNT_of_ET_Lath
                &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;when&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Meas"&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;then&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;COUNT&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;ET&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;AS&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; COUNT_of_ET_Meas
            &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;end&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; 
            &lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;year&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;Date&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;AS&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; Year
      &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;FROM&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; have0 t1
      &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;GROUP&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;BY&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; t1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;MC&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;CALCULATED Year&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;QUIT&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was expecting to get results something like here:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE cellspacing="0" cellpadding="0" border="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MC&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Count_Lath&lt;/TD&gt;&lt;TD&gt;Count_Meas&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US000409&lt;/TD&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US000409&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US01036&lt;/TD&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US01036&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US02044&lt;/TD&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US02044&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;US318&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not sure how to use when case in the above code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think I am doing some mistakes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help in correction.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 18 Nov 2016 09:29:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312561#M21101</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-18T09:29:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to correctly use CASE when in Proc SQL to count some specific values of a VAR</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312564#M21102</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table mc_et as 
select
  mc,
  (sum(et='Lath')) as count_of_et_lath,
  (sum(et='Meas')) as count_of_et_meas,
  (year(date)) as year
from have0
group by mc, calculated year
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It makes use of the fact that the result of a condition is either 1 (true) or 0 (false).&lt;/P&gt;</description>
      <pubDate>Fri, 18 Nov 2016 09:49:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312564#M21102</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-11-18T09:49:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to correctly use CASE when in Proc SQL to count some specific values of a VAR</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312565#M21103</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the CASE expression, you can only create on column. To do what you want, the SQL can look like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;PROC SQL;
  CREATE TABLE MC_ET AS 
    SELECT
      t1.MC
      , (year(t1.Date)) AS Year
      , count(
        case t1.ET 
          when "Lath" then 1
          else .
        end ) as COUNT_of_ET_Lath
    , count( 
      case t1.ET 
        when "Meas" then 1
        else .
      end) as COUNT_of_ET_Meas
  FROM
    have0 t1
  GROUP BY
    t1.MC
    , (CALCULATED Year)
  ;
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bruno&lt;/P&gt;</description>
      <pubDate>Fri, 18 Nov 2016 09:51:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312565#M21103</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2016-11-18T09:51:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to correctly use CASE when in Proc SQL to count some specific values of a VAR</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312572#M21105</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&lt;BR /&gt;PROC SQL;
   CREATE TABLE MC_ET AS
   SELECT t1.MC, (year(t1.Date)) AS Year,
                sum(case when t1.ET='Lath' then 1 else 0 end) as Count_of_Lath,
                sum(case when t1.ET='Meas' then 1 else 0 end) as count_of_Meas
      FROM have t1
      GROUP BY t1.MC, (CALCULATED Year)
;
QUIT;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 18 Nov 2016 10:14:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-correctly-use-CASE-when-in-Proc-SQL-to-count-some/m-p/312572#M21105</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-18T10:14:31Z</dc:date>
    </item>
  </channel>
</rss>

