<?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 How to drop/delete old columns no longer needed in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478743#M123478</link>
    <description>&lt;P&gt;I have the below table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COLUMN 1&lt;/TD&gt;&lt;TD&gt;COLUMN 2 ends in _x&lt;/TD&gt;&lt;TD&gt;COLUMN 3ends in _y&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;TD&gt;COLUMN 4 ends in _w&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That I have aggregated into the below column;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COLUMN 1&lt;/TD&gt;&lt;TD&gt;AGGREGATE COLUMN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z1&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z2&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w2&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;using the code;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if find(column 2,' x ',' i ') then new_col=column_x;&lt;/P&gt;&lt;P&gt;else if find(column 3, ' y ', ' i ') then new_col=column_y;&lt;/P&gt;&lt;P&gt;etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I now drop or delete the old columns that i used to make the aggregate column (column 2, column 3, column 4, etc.) in the same step?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 17 Jul 2018 17:44:19 GMT</pubDate>
    <dc:creator>r_levy</dc:creator>
    <dc:date>2018-07-17T17:44:19Z</dc:date>
    <item>
      <title>How to drop/delete old columns no longer needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478743#M123478</link>
      <description>&lt;P&gt;I have the below table;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COLUMN 1&lt;/TD&gt;&lt;TD&gt;COLUMN 2 ends in _x&lt;/TD&gt;&lt;TD&gt;COLUMN 3ends in _y&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;TD&gt;COLUMN 4 ends in _w&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That I have aggregated into the below column;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COLUMN 1&lt;/TD&gt;&lt;TD&gt;AGGREGATE COLUMN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z1&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;x2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;y2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;z2&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;w2&lt;/TD&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;using the code;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if find(column 2,' x ',' i ') then new_col=column_x;&lt;/P&gt;&lt;P&gt;else if find(column 3, ' y ', ' i ') then new_col=column_y;&lt;/P&gt;&lt;P&gt;etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I now drop or delete the old columns that i used to make the aggregate column (column 2, column 3, column 4, etc.) in the same step?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jul 2018 17:44:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478743#M123478</guid>
      <dc:creator>r_levy</dc:creator>
      <dc:date>2018-07-17T17:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to drop/delete old columns no longer needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478749#M123481</link>
      <description>&lt;P&gt;Presumably this code is part of a DATA step.&amp;nbsp; Within the same DATA step you can drop variables:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;drop column3 column4;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That can go anywhere within the DATA step.&amp;nbsp; You just have to supply a list of the proper names.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We know they're not column 3 and column 4 because those aren't legal names.&amp;nbsp; If the process of listing the names in a DROP statement is more complex for your application, we can revisit how to get a list of names.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jul 2018 17:59:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478749#M123481</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-07-17T17:59:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to drop/delete old columns no longer needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478752#M123483</link>
      <description>&lt;P&gt;Yes, this is currently in a data step, but my goal is to place the process into a pre-existing macro.&amp;nbsp; Presently there are about 100 columns of column 2, column 3, column 4, ... , column 100, which is why i need to use find(column 2, 'x','i') etc. .&amp;nbsp; column 2, column 3 and x,y,z do have macro variables assigned in the macro the code will eventually end up in.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jul 2018 18:08:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478752#M123483</guid>
      <dc:creator>r_levy</dc:creator>
      <dc:date>2018-07-17T18:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to drop/delete old columns no longer needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478828#M123511</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/220473"&gt;@r_levy&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Yes, this is currently in a data step, but my goal is to place the process into a pre-existing macro.&amp;nbsp; Presently there are about 100 columns of column 2, column 3, column 4, ... , column 100, which is why i need to use find(column 2, 'x','i') etc. .&amp;nbsp; column 2, column 3 and x,y,z do have macro variables assigned in the macro the code will eventually end up in.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Go back to the beginning. Post actual variable names and use the code with actual variable names and values in the Find statements.&lt;/P&gt;
&lt;P&gt;Currently your example if find(column 2,' x ',' i ') then new_col=column_x; makes no sense as you show &lt;STRONG&gt;no values &lt;/STRONG&gt;containing "X" in the example data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Better would be to provide an actual data step that creates a small data set with your "column 1" through "column 4" with actual data, which can be fake but would allow us to test your "aggregate code".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The "drop" question can be very simple or somewhat complex depending on your actual data set structure. If &lt;STRONG&gt;all&lt;/STRONG&gt; of the "column 2" through "column 100" variables are adjacent in the data set as sequential columns you can use:&lt;/P&gt;
&lt;P&gt;Drop column2 -- column100;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The -- (yes two dashes) indicates as variables in sequence from column2 to column100 &lt;STRONG&gt;if you use the actual variable name&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Another approach is if all of the variables, or groups of variables have similar names. Then you can use the : list creator:&lt;/P&gt;
&lt;P&gt;Drop grp: ;&lt;/P&gt;
&lt;P&gt;would remove &lt;STRONG&gt;all&lt;/STRONG&gt; variables whose names start with the three characters "grp".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your approach to the "aggregate" looks like an array and possibly no macro code would be needed at all if the variables were named "nicely" and you had a better description of the look up. I suspect no macro would actually be needed if the data was structured in a cleaner manner. Your statement " Presently there are about 100&amp;nbsp;" implies to me that the number may be increasing meaning a poor data structure and hard to maintain code.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jul 2018 20:48:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-drop-delete-old-columns-no-longer-needed/m-p/478828#M123511</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-07-17T20:48:41Z</dc:date>
    </item>
  </channel>
</rss>

