<?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: SAS query - KEEP variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231527#M42134</link>
    <description>&lt;P&gt;Take a look at my comments and clarify if you can so we understand what you need:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Program 1:
 
DATA EUROPE_CAR;
SET SASHELP.CARS;

IF MAKE IN ('BMW');
/* =======================================================
The above statement will eliminate all other records that are not BMW. 
Which means, your "IF" statement below does not have to check for "Audi" as &lt;BR /&gt;it has already been dropped out of the dataset. Clarify if &lt;BR /&gt;this is what you are expecting
======================================================= */

IF MAKE EQ 'Audi' OR MAKE EQ 'BMW' THEN DO; 
KEEP TYPE; /* This KEEP statement keeps the TYPE. Sure. &lt;BR /&gt;But you are not dropping MAKE. Therefore, you will have &lt;BR /&gt;both in the output.   You need to clarify what you are &lt;BR /&gt;expecting in this step */

END;


IF MAKE EQ 'Audi' THEN DO; 
KEEP Origin;  /*same comment as above */
END;
RUN;
 
Program 2:    
/*=======================================================
comments from Program:1 also apply for Program#2.  &lt;BR /&gt;Please clarify so we can help
======================================================= */
DATA EUROPE_CARS;
SET SASHELP.CARS;
IF MAKE IN ('Audi');
IF MAKE EQ 'BMW' THEN DO; 
KEEP TYPE;
END;
IF MAKE EQ 'Audi' THEN DO; 
KEEP Origin;
END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 25 Oct 2015 06:30:33 GMT</pubDate>
    <dc:creator>kannand</dc:creator>
    <dc:date>2015-10-25T06:30:33Z</dc:date>
    <item>
      <title>SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231521#M42129</link>
      <description>&lt;P&gt;Program 1:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA EUROPE_CAR;&lt;BR /&gt;SET SASHELP.CARS;&lt;BR /&gt;IF MAKE IN ('BMW');&lt;BR /&gt;IF MAKE EQ 'Audi' OR MAKE EQ 'BMW' THEN DO; &lt;BR /&gt;KEEP TYPE;&lt;BR /&gt;END;&lt;BR /&gt;IF MAKE EQ 'Audi' THEN DO; &lt;BR /&gt;KEEP Origin;&lt;BR /&gt;END;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Program 2:&lt;/P&gt;
&lt;P&gt;DATA EUROPE_CARS;&lt;BR /&gt;SET SASHELP.CARS;&lt;BR /&gt;IF MAKE IN ('Audi');&lt;BR /&gt;IF MAKE EQ 'BMW' THEN DO; &lt;BR /&gt;KEEP TYPE;&lt;BR /&gt;END;&lt;BR /&gt;IF MAKE EQ 'Audi' THEN DO; &lt;BR /&gt;KEEP Origin;&lt;BR /&gt;END;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Question:&lt;/P&gt;
&lt;P&gt;I expect program 1 to keep TYPE variable only while Program 2 to keep ORIGIN variable; both programs keep TYPE and ORIGIN.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Anyone can help? Thanks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 05:24:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231521#M42129</guid>
      <dc:creator>Toffeeman</dc:creator>
      <dc:date>2015-10-25T05:24:05Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231523#M42131</link>
      <description>The KEEP statement is a Global statement, not a conditional statement. Placing it in the IF condition doesn't impact the output. &lt;BR /&gt;&lt;BR /&gt;Your initial IF statement limits your data set to only Audi cars though because it subsets the data so the second IF (BMW) will never be true.</description>
      <pubDate>Sun, 25 Oct 2015 05:27:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231523#M42131</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-10-25T05:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231524#M42132</link>
      <description>&lt;P&gt;Is there any other way to keep the variables that i wanted base on the conditions on both programs?&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 05:36:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231524#M42132</guid>
      <dc:creator>Toffeeman</dc:creator>
      <dc:date>2015-10-25T05:36:58Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231525#M42133</link>
      <description>&lt;P&gt;We might help you if you tell us why you want to do this.&lt;/P&gt;
&lt;P&gt;As &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt; said, KEEP is global. Meaning that executes regardless of conditions in the data step. Which is logical. The data step needs to know how the&amp;nbsp;output data should look like, before creating and add observations to it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What would you suspect that the&amp;nbsp;output data set to like if there are makes BMW and Audi?&lt;/P&gt;
&lt;P&gt;Perhaps you are confusing assignment logic with subsetting (where you use WHERE).&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 06:15:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231525#M42133</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2015-10-25T06:15:17Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231527#M42134</link>
      <description>&lt;P&gt;Take a look at my comments and clarify if you can so we understand what you need:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Program 1:
 
DATA EUROPE_CAR;
SET SASHELP.CARS;

IF MAKE IN ('BMW');
/* =======================================================
The above statement will eliminate all other records that are not BMW. 
Which means, your "IF" statement below does not have to check for "Audi" as &lt;BR /&gt;it has already been dropped out of the dataset. Clarify if &lt;BR /&gt;this is what you are expecting
======================================================= */

IF MAKE EQ 'Audi' OR MAKE EQ 'BMW' THEN DO; 
KEEP TYPE; /* This KEEP statement keeps the TYPE. Sure. &lt;BR /&gt;But you are not dropping MAKE. Therefore, you will have &lt;BR /&gt;both in the output.   You need to clarify what you are &lt;BR /&gt;expecting in this step */

END;


IF MAKE EQ 'Audi' THEN DO; 
KEEP Origin;  /*same comment as above */
END;
RUN;
 
Program 2:    
/*=======================================================
comments from Program:1 also apply for Program#2.  &lt;BR /&gt;Please clarify so we can help
======================================================= */
DATA EUROPE_CARS;
SET SASHELP.CARS;
IF MAKE IN ('Audi');
IF MAKE EQ 'BMW' THEN DO; 
KEEP TYPE;
END;
IF MAKE EQ 'Audi' THEN DO; 
KEEP Origin;
END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 25 Oct 2015 06:30:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231527#M42134</guid>
      <dc:creator>kannand</dc:creator>
      <dc:date>2015-10-25T06:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231529#M42135</link>
      <description>&lt;P&gt;OK.&amp;nbsp; I have another situation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dataset:&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info&amp;nbsp;&amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&amp;nbsp; Email&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A1&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; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&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; 123 &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; 445 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xxx&lt;/P&gt;
&lt;P&gt;A2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 119 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 110 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &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; 124&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What I wanted is:&lt;/P&gt;
&lt;P&gt;A1 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info&amp;nbsp;&amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&amp;nbsp; Email&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A1&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; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&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; 123 &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; 445 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xxx&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A2 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info &amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp; &lt;/P&gt;
&lt;P&gt;A2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 119 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 110 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &lt;/P&gt;
&lt;P&gt;A3 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info &amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 06:54:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231529#M42135</guid>
      <dc:creator>Toffeeman</dc:creator>
      <dc:date>2015-10-25T06:54:17Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231532#M42136</link>
      <description>&lt;P&gt;Both data sets and variables get created during the compilation phase of a data step but you only process data during the execution phase. That's why both data sets and variables can't get created during data step execution.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#p08a4x7h9mkwqvn16jg3xqwfxful.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#p08a4x7h9mkwqvn16jg3xqwfxful.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The way around this is by either dynamically create SAS code and then execute this SAS code as a next step or to create hash tables which can get created during exection phase (not the variables though). All these techniques are advanced and require quite a bit of coding.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is normally not a good idea to split up data the way you want it. There is by group processing, where clauses and if statements to process data in chunks or conditionally.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines truncover;
  input (Customer HP_info MP_info Email_info Home_Phone Mobile_Phone Email) ($);
  datalines;
A1 Y Y Y 123 445 xxx
A2 Y Y N 119 110 
A3 N Y N 124
run;

data  A1  A2(drop=Email)  A3;
  set have;
  if customer='A1' then
    output A1;
  else if customer='A2' then
    output A2;
  else if customer='A3' then
    output A3;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 20:36:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231532#M42136</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-10-25T20:36:55Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231550#M42140</link>
      <description>&lt;P&gt;There are ways for macro language to do something similar to what you ask, but it is simpler to create multiple data sets:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data audi_only (keep=origin)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bmw_only (keep=type);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;set sashelp.cars;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;if make='Audi' then output audi_only;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;else output bmw_only;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 17:05:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231550#M42140</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2015-10-25T17:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231552#M42141</link>
      <description>&lt;P&gt;Can you explain WHY you want the output shown?&lt;/P&gt;
&lt;P&gt;If it is predetermined then just code what you want to happen.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="line-height: 20px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a1 a2(drop=email) a3(drop=home_phone email);
&amp;nbsp; set have ;
&amp;nbsp; if customer='A1' then output A1;
&amp;nbsp; else if customer='A2' then output A2;
&amp;nbsp; else if customer='A3' then output A3;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;If instead it is some type of report then look at the NOZERO option on the DEFINE statement in PROC REPORT.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
 length Customer $10 HP_info MP_info Email_info $1 Home_Phone Mobile_Phone $10 Email $20 ;
 input customer -- email;
cards;
A1 Y  Y  Y 123   445 xxx
A2 Y  Y  N 119   110 .  
A3 N  Y  N   .   124 .
;;;;
proc report data=have ;
  by customer ;
  define _all_ / display nozero ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 25 Oct 2015 17:35:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231552#M42141</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-10-25T17:35:18Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231563#M42145</link>
      <description>&lt;P&gt;Here is the 2nd situation i highlighted earlier.&amp;nbsp; Below only show 3 customers but i could have 100 customers, and my end result will be in excel listing.&amp;nbsp; All info from the customers are unknown different combinations and we only know if the info is available through N or Y indicator.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dataset:&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info&amp;nbsp;&amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&amp;nbsp; Email&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A1&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; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&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; 123 &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; 445 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xxx&lt;/P&gt;
&lt;P&gt;A2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 119 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 110 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &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; 124&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What I wanted is:&lt;/P&gt;
&lt;P&gt;A1 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info&amp;nbsp;&amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&amp;nbsp; Email&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A1&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; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&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; 123 &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; 445 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xxx&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A2 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info &amp;nbsp;&amp;nbsp; Home_Phone&amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 119 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 110 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;A3 dataset&lt;/P&gt;
&lt;P&gt;Customer&amp;nbsp;&amp;nbsp;&amp;nbsp; HP_info MP_info Email_info &amp;nbsp;&amp;nbsp; Mobile_Phone&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Y &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; N &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 22:23:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231563#M42145</guid>
      <dc:creator>Toffeeman</dc:creator>
      <dc:date>2015-10-25T22:23:59Z</dc:date>
    </item>
    <item>
      <title>Re: SAS query - KEEP variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231566#M42148</link>
      <description>&lt;P&gt;So in that case with 3 binary variables there 8 possible combinations. So you can split your data into 8 separate datasets if you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data 
  yyy
  yyn (drop=Email_info)
  yny (drop=MP_info)
  ynn (drop=MP_info Email_info)
  nyy (drop=HP_info)
  nyn (drop=HP_info Email_info)
  nny (drop=HP_info MP_info)
  nnn (drop=HP_info MP_info Email_info)
;
  set have;
  select (cats(of HP_info MP_info Email_info)) ;
  when ('YYY') output yyy;
  when ('YYN') output yyn;
  when ('YNY') output yny;
  when ('YNN') output ynn;
  when ('NYY') output nyy;
  when ('NYN') output nyn;
  when ('NNY') output nny;
  when ('NNN') output nnn;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;NOTE: There were 3 observations read from the data set WORK.HAVE.
NOTE: The data set WORK.YYY has 1 observations and 7 variables.
NOTE: The data set WORK.YYN has 1 observations and 6 variables.
NOTE: The data set WORK.YNY has 0 observations and 6 variables.
NOTE: The data set WORK.YNN has 0 observations and 5 variables.
NOTE: The data set WORK.NYY has 0 observations and 6 variables.
NOTE: The data set WORK.NYN has 1 observations and 5 variables.
NOTE: The data set WORK.NNY has 0 observations and 5 variables.
NOTE: The data set WORK.NNN has 0 observations and 4 variables.
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Oct 2015 23:50:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-query-KEEP-variables/m-p/231566#M42148</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-10-25T23:50:23Z</dc:date>
    </item>
  </channel>
</rss>

