<?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: Counting number of record meet conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135175#M260985</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Something like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want(drop=i);&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;count=0;&lt;/P&gt;&lt;P&gt;array v{3} var1-var3;&lt;/P&gt;&lt;P&gt;do i=1 to dim(v);&lt;/P&gt;&lt;P&gt;if 5&amp;lt;v{i} then count+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if count=dim(v);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Dec 2014 05:24:40 GMT</pubDate>
    <dc:creator>stat_sas</dc:creator>
    <dc:date>2014-12-04T05:24:40Z</dc:date>
    <item>
      <title>Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135174#M260984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have following data with 3 variables.&lt;/P&gt;&lt;P&gt;I want to count the number of record that meet a condition say:&lt;/P&gt;&lt;P&gt;5&amp;lt;var1 and 4&amp;lt;var2 and 3&amp;lt;var3&lt;/P&gt;&lt;P&gt;5&amp;lt;var1 and 4&amp;lt;var2 and 6&amp;lt;var3&lt;/P&gt;&lt;P&gt;(always "&amp;lt;" less than)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the general case, I want to count the number of record that meet each of the combination of condition&amp;nbsp; like:&lt;/P&gt;&lt;P&gt;do v1=5 to 20 by 5;&lt;/P&gt;&lt;P&gt;do v2=4 to 30 by 4;&lt;/P&gt;&lt;P&gt;do v3=0 to 30 by 6;&lt;/P&gt;&lt;P&gt;The output file should report the number of record meeting each combination.&lt;/P&gt;&lt;P&gt;(I would prefer the Do Loop method)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me with that.&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HHC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input var1 var2 var3 ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;10 20 15&lt;/P&gt;&lt;P&gt;11 2 34&lt;/P&gt;&lt;P&gt;5 25 40&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 04:58:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135174#M260984</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2014-12-04T04:58:58Z</dc:date>
    </item>
    <item>
      <title>Re: Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135175#M260985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Something like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want(drop=i);&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;count=0;&lt;/P&gt;&lt;P&gt;array v{3} var1-var3;&lt;/P&gt;&lt;P&gt;do i=1 to dim(v);&lt;/P&gt;&lt;P&gt;if 5&amp;lt;v{i} then count+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if count=dim(v);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 05:24:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135175#M260985</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-12-04T05:24:40Z</dc:date>
    </item>
    <item>
      <title>Re: Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135176#M260986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh, not sure why I choose these number, they are so missleading. I just update the info.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 05:39:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135176#M260986</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2014-12-04T05:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135177#M260987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want(drop=i);&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;count=0;&lt;/P&gt;&lt;P&gt;array v{3} var1-var3;&lt;/P&gt;&lt;P&gt;do i=1 to 1;&lt;/P&gt;&lt;P&gt;if 5&amp;lt;v{i} and 4&amp;lt;v{i+1} and 6&amp;lt;v{i+2} then count+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if count=dim(v);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 06:11:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135177#M260987</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-12-04T06:11:24Z</dc:date>
    </item>
    <item>
      <title>Re: Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135178#M260988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you would like to filter records according to one (?) condition and keep those records:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input var1 var2 var3 ;&lt;BR /&gt;datalines;&lt;BR /&gt;10 20 15&lt;BR /&gt;11 2 34&lt;BR /&gt;5 25 40&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;Data Want (Keep=Var: Count);&lt;BR /&gt;&amp;nbsp; Do i=1 By 1 Until (Eof);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Have End=Eof;&lt;BR /&gt;&amp;nbsp; If (Var1 ge 5 &amp;amp; Var2 ge 4 &amp;amp; Var3 ge 6) Then Count=Sum(Count,1);&lt;BR /&gt;&amp;nbsp; End;&lt;BR /&gt;&amp;nbsp; Do j=1 To i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Have;&lt;BR /&gt; If (Var1 ge 5 &amp;amp; Var2 ge 4 &amp;amp; Var3 ge 6) Then Output;&lt;BR /&gt;&amp;nbsp; End; &lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you only need the total count, leave out the 2nd loop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 09:39:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135178#M260988</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-12-04T09:39:23Z</dc:date>
    </item>
    <item>
      <title>Re: Counting number of record meet conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135179#M260989</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I would assign a group to each valid so you can count:&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp; input var1 var2 var3 ;&lt;BR /&gt;datalines;&lt;BR /&gt;10 20 15&lt;BR /&gt;11 2 34&lt;BR /&gt;5 25 40&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* This step generates another dataset with all the conditions outputting only rows which fulfill the criteria and assign a category to each */&lt;BR /&gt;data _null_;&lt;BR /&gt;&amp;nbsp; call execute('data want; set have; length condition $2000;');&lt;BR /&gt;&amp;nbsp; do i=5 to 20 by 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do j=4 to 30 by 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do k=0 to 30 by 6;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute(' if '||strip(put(i,best.))||' &amp;lt; var1 and '||strip(put(j,best.))||' &amp;lt; var2 and '||strip(put(k,best.))||' &amp;lt; var3 then do;&lt;BR /&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; condition="'||strip(put(i,best.))||' &amp;lt; var1 and '||strip(put(j,best.))||' &amp;lt; var2 and '||strip(put(k,best.))||'";&lt;BR /&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; output;&lt;BR /&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; end;');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; call execute('run;');&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/* Then count the categories */&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table TOTALS as&lt;BR /&gt;&amp;nbsp; select&amp;nbsp; distinct&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONDITION,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COUNT(CONDITION) as RESULT&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK.WANT&lt;BR /&gt;&amp;nbsp; group by CONDITION;&lt;BR /&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Dec 2014 09:47:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Counting-number-of-record-meet-conditions/m-p/135179#M260989</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-12-04T09:47:43Z</dc:date>
    </item>
  </channel>
</rss>

