<?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: Delete rows only where all numeric variables are 0 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Delete-rows-only-where-all-numeric-variables-are-0/m-p/709930#M218431</link>
    <description>&lt;P&gt;array t counta--counte; /*this assumes your variables are contiguous*/&lt;/P&gt;
&lt;P&gt;the if sum(of t(*)) ne 0 whatever&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;alternatively&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sum(of counta--counte)&amp;nbsp; with a double dash list&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id="p1cr0027z6qx4an1maoh0fyizqtt" class="xisDoc-title" tabindex="-1"&gt;Name Range Lists&lt;/H2&gt;
&lt;P class="xisDoc-paragraph"&gt;Name range lists rely on the order of variable definition, as shown in the following table:&lt;/P&gt;
&lt;SECTION class="xisDoc-tableWrap"&gt;
&lt;TABLE id="p0b6rxingnuc5qn1tz1qkkydvu2y" class="xisDoc-table"&gt;&lt;CAPTION class="xisDoc-title"&gt;Name Range Lists&lt;/CAPTION&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="xisDoc-palette_0 xisDoc-horizontalLeft xisDoc-verticalBottom" colspan="2"&gt;
&lt;P class="xisDoc-paragraph"&gt;Variable List&lt;/P&gt;
&lt;/TH&gt;
&lt;TH class="xisDoc-palette_0 xisDoc-horizontalLeft xisDoc-verticalBottom"&gt;
&lt;P class="xisDoc-paragraph"&gt;Included Variables&lt;/P&gt;
&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;CODE class="xisDoc-inlineCode"&gt;- -&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all variables in order of variable definition, from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;-NUMERIC-&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;numeric&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;CODE class="xisDoc-inlineCode"&gt;-CHARACTER-&lt;/CODE&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;character&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/SECTION&gt;</description>
    <pubDate>Thu, 07 Jan 2021 15:33:37 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2021-01-07T15:33:37Z</dc:date>
    <item>
      <title>Delete rows only where all numeric variables are 0</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-rows-only-where-all-numeric-variables-are-0/m-p/709928#M218430</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Looking to see the best way to delete a row if all numeric variables are 0.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've seen some examples of how to delete rows with all missing values and could all do IF missing() for each variable, however, I was hoping someone may know of an easier way (because I have 30 number columns) I have a table example below, the first 3 columns are formatted as a date, character, and character, the remaining are numbers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1" width="79.03355704697987%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="10%"&gt;Date&lt;/TD&gt;
&lt;TD width="10%"&gt;Name&lt;/TD&gt;
&lt;TD width="10%"&gt;City&lt;/TD&gt;
&lt;TD width="10%"&gt;Count A&lt;/TD&gt;
&lt;TD width="10%"&gt;Count B&lt;/TD&gt;
&lt;TD width="10%"&gt;Count C&lt;/TD&gt;
&lt;TD width="10%"&gt;Count D&lt;/TD&gt;
&lt;TD width="10%"&gt;Count E&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10%"&gt;01/01/2021&lt;/TD&gt;
&lt;TD width="10%"&gt;John&lt;/TD&gt;
&lt;TD width="10%"&gt;NYC&lt;/TD&gt;
&lt;TD width="10%"&gt;1&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;4&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10%"&gt;01/01/2021&lt;/TD&gt;
&lt;TD width="10%"&gt;John&lt;/TD&gt;
&lt;TD width="10%"&gt;NYC&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10%"&gt;01/01/2021&lt;/TD&gt;
&lt;TD width="10%"&gt;Jane&lt;/TD&gt;
&lt;TD width="10%"&gt;NYC&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&gt;3&lt;/TD&gt;
&lt;TD width="10%"&gt;2&lt;/TD&gt;
&lt;TD width="10%"&gt;0&lt;/TD&gt;
&lt;TD width="10%"&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 saw some code like this, which didn't delete any records (I assume maybe because Date may be considered numeric?)&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;if nmiss(of _numeric_) then delete;&lt;/LI-CODE&gt;
&lt;P&gt;I also tried the below code, which didn't work and threw an error (error shown below code).&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;if sum(of 'Count A'n-'Count E'n)=0 then delete;&lt;/LI-CODE&gt;
&lt;P&gt;ERROR: Alphabetic prefixes for enumerated variables (Count A-Count E) are different.&lt;BR /&gt;ERROR 71-185: The SUM function call does not have enough arguments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 15:19:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-rows-only-where-all-numeric-variables-are-0/m-p/709928#M218430</guid>
      <dc:creator>BlayLay</dc:creator>
      <dc:date>2021-01-07T15:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: Delete rows only where all numeric variables are 0</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-rows-only-where-all-numeric-variables-are-0/m-p/709930#M218431</link>
      <description>&lt;P&gt;array t counta--counte; /*this assumes your variables are contiguous*/&lt;/P&gt;
&lt;P&gt;the if sum(of t(*)) ne 0 whatever&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;alternatively&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sum(of counta--counte)&amp;nbsp; with a double dash list&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id="p1cr0027z6qx4an1maoh0fyizqtt" class="xisDoc-title" tabindex="-1"&gt;Name Range Lists&lt;/H2&gt;
&lt;P class="xisDoc-paragraph"&gt;Name range lists rely on the order of variable definition, as shown in the following table:&lt;/P&gt;
&lt;SECTION class="xisDoc-tableWrap"&gt;
&lt;TABLE id="p0b6rxingnuc5qn1tz1qkkydvu2y" class="xisDoc-table"&gt;&lt;CAPTION class="xisDoc-title"&gt;Name Range Lists&lt;/CAPTION&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="xisDoc-palette_0 xisDoc-horizontalLeft xisDoc-verticalBottom" colspan="2"&gt;
&lt;P class="xisDoc-paragraph"&gt;Variable List&lt;/P&gt;
&lt;/TH&gt;
&lt;TH class="xisDoc-palette_0 xisDoc-horizontalLeft xisDoc-verticalBottom"&gt;
&lt;P class="xisDoc-paragraph"&gt;Included Variables&lt;/P&gt;
&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;CODE class="xisDoc-inlineCode"&gt;- -&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all variables in order of variable definition, from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;-NUMERIC-&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;numeric&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;CODE class="xisDoc-inlineCode"&gt;-CHARACTER-&lt;/CODE&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a&lt;/EM&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD class="xisDoc-horizontalLeft xisDoc-verticalTop"&gt;
&lt;P class="xisDoc-paragraph"&gt;all&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="xisDoc-inlineCode"&gt;character&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables from variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;x&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM class="xisDoc-userSuppliedValue"&gt;a&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;inclusive&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/SECTION&gt;</description>
      <pubDate>Thu, 07 Jan 2021 15:33:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-rows-only-where-all-numeric-variables-are-0/m-p/709930#M218431</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2021-01-07T15:33:37Z</dc:date>
    </item>
  </channel>
</rss>

