<?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: Code To Count in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188479#M265863</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The WHERE statement is NOT an executable statement. This means that it should be moved out of the conditional block. Its effect is to restrict the input data to observations where &lt;STRONG&gt;LVL_OF_EDN&lt;/STRONG&gt; is either '0' or '1'.&lt;/P&gt;&lt;P&gt;The datastep logic simply counts the number of observations with &lt;STRONG&gt;LVL_OF_EDN&lt;/STRONG&gt; either '0' or '1' within each value of &lt;STRONG&gt;Hsehold_Ref_No&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;It is assumed that the input dataset is sorted by &lt;STRONG&gt;Hsehold_Ref_No&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The datastep should read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data stud_Pri (keep =HSE_ID HH_NO Hsehold_Ref_No PriStd_cnt);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;set stud_dev;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by Hsehold_Ref_No;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;where LVL_OF_EDN in ('0', '1');&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if first.Hsehold_Ref_No then do;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; PriStd_cnt = 0; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PriStd_cnt + 1;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if last.Hsehold_Ref_No then output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Feb 2014 02:49:12 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2014-02-27T02:49:12Z</dc:date>
    <item>
      <title>Code To Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188478#M265862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data stud_Pri (keep =HSE_ID HH_NO Hsehold_Ref_No PriStd_cnt);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set stud_dev;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by Hsehold_Ref_No;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.Hsehold_Ref_No then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where LVL_OF_EDN in ('0', '1'); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PriStd_cnt=0; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PriStd_cnt + 1; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if last.Hsehold_Ref_No then output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't understand this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If first.Hsehold_Ref_No then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where LVL_OF_EDN in ('0', '1'); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PriStd_cnt=0;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) What if the first.Hsehold_Ref_No doesn't have LVL_OF_EDN in ('0', '1')? What will SAS do?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) If the LVL_OF_EDN in ('0', '1') is in the 2nd or beyond record of the same Hsehold_Ref_No, will SAS count it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 02:25:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188478#M265862</guid>
      <dc:creator>apple</dc:creator>
      <dc:date>2014-02-27T02:25:33Z</dc:date>
    </item>
    <item>
      <title>Re: Code To Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188479#M265863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The WHERE statement is NOT an executable statement. This means that it should be moved out of the conditional block. Its effect is to restrict the input data to observations where &lt;STRONG&gt;LVL_OF_EDN&lt;/STRONG&gt; is either '0' or '1'.&lt;/P&gt;&lt;P&gt;The datastep logic simply counts the number of observations with &lt;STRONG&gt;LVL_OF_EDN&lt;/STRONG&gt; either '0' or '1' within each value of &lt;STRONG&gt;Hsehold_Ref_No&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;It is assumed that the input dataset is sorted by &lt;STRONG&gt;Hsehold_Ref_No&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The datastep should read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data stud_Pri (keep =HSE_ID HH_NO Hsehold_Ref_No PriStd_cnt);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;set stud_dev;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by Hsehold_Ref_No;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;where LVL_OF_EDN in ('0', '1');&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if first.Hsehold_Ref_No then do;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; PriStd_cnt = 0; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PriStd_cnt + 1;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if last.Hsehold_Ref_No then output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 02:49:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188479#M265863</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-02-27T02:49:12Z</dc:date>
    </item>
    <item>
      <title>Re: Code To Count</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188480#M265864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Note: with your datastep, &lt;STRONG style="font-size: 12.727272033691406px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Hsehold_Ref_No&lt;/STRONG&gt; groups having no observations with &lt;STRONG style="font-size: 12.727272033691406px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;LVL_OF_EDN&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12.727272033691406px; background-color: #ffffff;"&gt; either '0' or '1' will be skipped, i.e. you will never get &lt;STRONG&gt;PriStd_cnt&lt;/STRONG&gt;=0. If you want the zero counts, you should drop the WHERE statement and use :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data stud_Pri (keep =HSE_ID HH_NO Hsehold_Ref_No PriStd_cnt);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;set stud_dev;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by Hsehold_Ref_No;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if first.Hsehold_Ref_No then do;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; PriStd_cnt = 0; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PriStd_cnt + (LVL_OF_EDN in ('0', '1'));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if last.Hsehold_Ref_No then output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 02:55:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-To-Count/m-p/188480#M265864</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-02-27T02:55:44Z</dc:date>
    </item>
  </channel>
</rss>

