<?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: Count Characters Across Rows SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/273104#M54403</link>
    <description>This worked, thanks!</description>
    <pubDate>Wed, 25 May 2016 18:43:09 GMT</pubDate>
    <dc:creator>laneylaners</dc:creator>
    <dc:date>2016-05-25T18:43:09Z</dc:date>
    <item>
      <title>Count Characters Across Rows SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272892#M54316</link>
      <description>&lt;P&gt;I have the following dataset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;CARNUM	INSPECTION_DATE	L1_FEELER_IN	L1_FEELER_OUT	L2_FEELER_IN	L2_FEELER_OUT	R1_FEELER_IN	R1_FEELER_OUT	R2_FEELER_IN	R2_FEELER_OUT	L3_FEELER_IN	L3_FEELER_OUT	L4_FEELER_IN	L4_FEELER_OUT	R3_FEELER_IN	R3_FEELER_OUT	R4_FEELER_IN	R4_FEELER_OUT
655552	07/23/2015	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A
655519	08/28/2015	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO
655620	11/09/2015	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO
655600	12/31/2015	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES
655664	02/29/2016	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	NO
655768	04/27/2016	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES
560062	05/06/2015	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A
655767	01/14/2016	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A
655315	03/30/2016	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO
655659	07/16/2015	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A	N/A
560027	04/12/2016	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO
655467	09/29/2015	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO	NO
655373	10/12/2015	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES
655644	01/12/2016	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES
655675	01/14/2016	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES	YES
655578	01/19/2016	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO
655669	01/20/2016	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO	YES	NO
655383	01/20/2016	YES	YES	YES	YES	NO	NO	YES	YES	NO	NO	YES	NO	YES	YES	YES	YES
655672	02/10/2016	YES	YES	YES	NO	YES	NO	YES	YES	YES	YES	YES	YES	YES	NO	YES	NO
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there any sort of "countif" function in SAS that would allow me to count the number of "YES" "NO" or "N/A" by variable CARNUM? &amp;nbsp;Such that my result would look like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="378"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63"&gt;CARNUM&lt;/TD&gt;
&lt;TD width="123"&gt;INSPECTION_DATE&lt;/TD&gt;
&lt;TD width="64"&gt;YES&lt;/TD&gt;
&lt;TD width="64"&gt;NO&lt;/TD&gt;
&lt;TD width="64"&gt;N/A&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655552&lt;/TD&gt;
&lt;TD&gt;07/23/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655519&lt;/TD&gt;
&lt;TD&gt;08/28/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655620&lt;/TD&gt;
&lt;TD&gt;11/09/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655600&lt;/TD&gt;
&lt;TD&gt;12/31/2015&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655664&lt;/TD&gt;
&lt;TD&gt;02/29/2016&lt;/TD&gt;
&lt;TD&gt;15&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;655768&lt;/TD&gt;
&lt;TD&gt;04/27/2016&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;560062&lt;/TD&gt;
&lt;TD&gt;05/06/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655767&lt;/TD&gt;
&lt;TD&gt;01/14/2016&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655315&lt;/TD&gt;
&lt;TD&gt;03/30/2016&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655659&lt;/TD&gt;
&lt;TD&gt;07/16/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;560027&lt;/TD&gt;
&lt;TD&gt;04/12/2016&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655467&lt;/TD&gt;
&lt;TD&gt;09/29/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655373&lt;/TD&gt;
&lt;TD&gt;10/12/2015&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655644&lt;/TD&gt;
&lt;TD&gt;01/12/2016&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655675&lt;/TD&gt;
&lt;TD&gt;01/14/2016&lt;/TD&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655578&lt;/TD&gt;
&lt;TD&gt;01/19/2016&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655669&lt;/TD&gt;
&lt;TD&gt;01/20/2016&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655383&lt;/TD&gt;
&lt;TD&gt;01/20/2016&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;655672&lt;/TD&gt;
&lt;TD&gt;02/10/2016&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've been digging around and it seems like 'array' would be the best option, but I am not familiar with how it works to get this output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Laners&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2016 21:20:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272892#M54316</guid>
      <dc:creator>laneylaners</dc:creator>
      <dc:date>2016-05-24T21:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: Count Characters Across Rows SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272898#M54318</link>
      <description>&lt;P&gt;It would be much easier if you normalized your data structure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=HAVE out=MIDDLE ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;by carnum inspection_date NOTSORTED ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var L: R: ;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;proc freq data=middle ;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;by carnum inspection_date NOTSORTED ;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;table col1 / noprint out=want;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;proc print data=want ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;var carnum inspection_date col1 count ;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2016 21:55:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272898#M54318</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2016-05-24T21:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: Count Characters Across Rows SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272901#M54319</link>
      <description>&lt;P&gt;An example with array:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   set have;
   array v $  L: R: ;
   do i= 1 to dim(v);
      Yes = sum(Yes,(v[i]='YES'));      
      No  = sum(No, (v[i]='NO'));      
      NA  = sum(NA, (v[i]='N/A'));      
   end;
   drop i  L: R: ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 24 May 2016 22:07:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272901#M54319</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-05-24T22:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: Count Characters Across Rows SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272962#M54344</link>
      <description>&lt;P&gt;Or without arrays (a variant of ballardw's solution):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
YES=countc(cat(of L: R:), 'Y');
NO =countc(cat(of L: R:), 'O');
NA =countc(cat(of L: R:), '/');
drop L: R:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 25 May 2016 08:31:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/272962#M54344</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-05-25T08:31:38Z</dc:date>
    </item>
    <item>
      <title>Re: Count Characters Across Rows SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/273104#M54403</link>
      <description>This worked, thanks!</description>
      <pubDate>Wed, 25 May 2016 18:43:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-Characters-Across-Rows-SAS/m-p/273104#M54403</guid>
      <dc:creator>laneylaners</dc:creator>
      <dc:date>2016-05-25T18:43:09Z</dc:date>
    </item>
  </channel>
</rss>

