<?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: How to delete blanks within a by group if there is at least one non-blank in that by group? in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606719#M18449</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input ID var1 $;
cards;
1     A      
1     B
1            
2            
3   
4     A      
4  
;
 

proc sql;
create table want as
select *
from have
group by id
having n(var1) and var1&amp;gt;' ' or not n(var1);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 23 Nov 2019 22:07:32 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2019-11-23T22:07:32Z</dc:date>
    <item>
      <title>How to delete blanks within a by group if there is at least one non-blank in that by group?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606715#M18448</link>
      <description>&lt;P&gt;I have a dataset that looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID var1&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1 &amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1&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;&lt;P&gt;2&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;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; A &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want it to look like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID var1&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1 &amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2&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;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; A &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I.e. I want to delete the blanks within each level of the ID variable, only if there is another observation within that level that is a non-blank?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Sat, 23 Nov 2019 21:38:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606715#M18448</guid>
      <dc:creator>KPCklebspn</dc:creator>
      <dc:date>2019-11-23T21:38:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete blanks within a by group if there is at least one non-blank in that by group?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606719#M18449</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input ID var1 $;
cards;
1     A      
1     B
1            
2            
3   
4     A      
4  
;
 

proc sql;
create table want as
select *
from have
group by id
having n(var1) and var1&amp;gt;' ' or not n(var1);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 23 Nov 2019 22:07:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606719#M18449</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-11-23T22:07:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete blanks within a by group if there is at least one non-blank in that by group?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606721#M18450</link>
      <description>&lt;P&gt;Give this a try.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Have;
	length ID 8 var1 $8;
	infile cards missover;
	input ID var1;
	cards;
1 A 
1 B
1 
2 
3 
4 A 
4
run;

proc sort data=Have out=Inter1;
	by ID;
run;

data Inter2;
	retain DelFlag;
	set Inter1;
	by ID;
	keep ID DelFlag;

	if first.ID then
		DelFlag = 0;

	if ^missing(var1) then
		DelFlag = 1;

	if last.ID then
		output;
run;

proc sql noprint;
	create table Inter3 as
		select i1.*, i2.DelFlag
			from Inter1 i1 inner join Inter2 i2 on(i1.ID = i2.ID);
quit;

data Want;
	set Inter3;
	drop DelFlag;

	if missing(var1) &amp;amp; DelFlag then
		delete;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 23 Nov 2019 22:10:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606721#M18450</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2019-11-23T22:10:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete blanks within a by group if there is at least one non-blank in that by group?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606744#M18451</link>
      <description>&lt;P&gt;Here another coding option. Assumes your data is sorted by ID.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile cards truncover;
  input ID var1 $;
  datalines;
1 A  
1 B
1    
2    
2 
3   
4 A  
4  
;

data want;
  merge 
    have(in=ina where=(missing(var1)) ) 
    have(in=inb where=(not missing(var1)) )
    ;
  by id;
  if first.id or inb then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 24 Nov 2019 00:33:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606744#M18451</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2019-11-24T00:33:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete blanks within a by group if there is at least one non-blank in that by group?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606746#M18452</link>
      <description>&lt;P&gt;Nice&amp;nbsp; thinking Sir&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;&amp;nbsp; If it were sorted by ID Var1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I might go for&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input ID var1 $;
cards;
1     A      
1     B
1            
2            
3   
4     A      
4  
;

proc sort data=have out=have1;
by id var1;
run;

data want;
set have1;
by id;
if first.id and last.id or var1&amp;gt;' ';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 24 Nov 2019 00:50:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-delete-blanks-within-a-by-group-if-there-is-at-least-one/m-p/606746#M18452</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-11-24T00:50:37Z</dc:date>
    </item>
  </channel>
</rss>

