<?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: Set missing record to 'Y' if any record in the series has Y in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732790#M228342</link>
    <description>&lt;P&gt;So you want to replace missing values of X with the MAX() value of X for the group? Simple enough with PROC SQL.&lt;/P&gt;
&lt;P&gt;First we need to clean up your example results so they match the rules.&amp;nbsp; Let's add a ROW variable so we can recreate the order.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
  infile cards dsd dlm='|' truncover;
  row+1;
  input subjid $ (X Y Z) (:$1.) Coll count ex ;
cards;
101|Y|N|Y|1|1| 
101| | | |1|1|1
101|N|N|Y|1|1| 
101|Y|Y|N|1|2| 
101| | | |1|2| 
101|Y|N|N|1|2| 
102|Y|N|N| | | 
102|N|N|N|1|1| 
102| | | |1|1|1
102|Y|N|N|1|1| 
102|N|N|N|1|1| 
;

data expect ;
  infile cards dsd dlm='|' truncover;
  row+1;
  input subjid $ (X Y Z) (:$1.) Coll count ex ;
cards;
101|Y|N|Y|1|1|  
101|Y|N|Y|1|1|1 | Change Y to 'N' 
101|N|N|Y|1|1|  
101|Y|Y|N|1|2|  
101|Y|Y|N|1|2|  |  Remvoed EX=1 
101|Y|N|N|1|2|  
102|Y|N|N| | |  
102|N|N|N|1|1|  
102|Y|N|N|1|1|1 
102|Y|N|N|1|1|  
102|N|N|N|1|1|  
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now use PROC SQL and then use PROC COMPARE to test the results&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql ;
 create table want as 
 select row
      , subjid 
      , count
      , Coll
      , ex
      , coalesce(X,max(X)) as X
      , coalesce(Y,max(Y)) as Y
      , coalesce(Z,max(Z)) as Z
 from have
 group by subjid,count
 order by row
 ;
quit;

proc print data=want;
run;

proc compare data=want compare=expect;
  id subjid count row;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    row    subjid    count    Coll    ex    X    Y    Z

  1      1     101        1        1      .    Y    N    Y
  2      2     101        1        1      1    Y    N    Y
  3      3     101        1        1      .    N    N    Y
  4      4     101        2        1      .    Y    Y    N
  5      5     101        2        1      .    Y    Y    N
  6      6     101        2        1      .    Y    N    N
  7      7     102        .        .      .    Y    N    N
  8      8     102        1        1      .    N    N    N
  9      9     102        1        1      1    Y    N    N
 10     10     102        1        1      .    Y    N    N
 11     11     102        1        1      .    N    N    N
&amp;#12;
SAS 9.4 on WINDOWS                                                                                  10:28 Wednesday, April 7, 2021 113

The COMPARE Procedure
Comparison of WORK.WANT with WORK.EXPECT
(Method=EXACT)

Data Set Summary

Dataset               Created          Modified  NVar    NObs

WORK.WANT    10APR21:14:52:58  10APR21:14:52:58     8      11
WORK.EXPECT  10APR21:14:52:58  10APR21:14:52:58     8      11


Variables Summary

Number of Variables in Common: 8.
Number of ID Variables: 3.


Observation Summary

Observation      Base  Compare  ID

First Obs           1        1  subjid=101 count=1 row=1
Last  Obs          11       11  subjid=102 count=1 row=11

Number of Observations in Common: 11.
Total Number of Observations Read from WORK.WANT: 11.
Total Number of Observations Read from WORK.EXPECT: 11.

Number of Observations with Some Compared Variables Unequal: 0.
Number of Observations with All Compared Variables Equal: 11.

NOTE: No unequal values were found. All values compared are exactly equal.

&lt;/PRE&gt;</description>
    <pubDate>Sat, 10 Apr 2021 18:55:46 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2021-04-10T18:55:46Z</dc:date>
    <item>
      <title>Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732773#M228337</link>
      <description>&lt;P&gt;Hi again,&lt;/P&gt;
&lt;P&gt;I am trying to fill in the missing records&amp;nbsp;to Y &amp;nbsp;if any record in the series is Y by subjid and count where coll is 1. In my dataset I have collapsed records, a new record generated is ex = 1.&lt;/P&gt;
&lt;P&gt;My interest is if any record in variable&amp;nbsp;X = &amp;nbsp;Y&amp;nbsp;by count (Which is series) then the missing value should be Y. similarly for variable Y and Z.&lt;/P&gt;
&lt;P&gt;I have highlighted the output I want in bold.&lt;/P&gt;
&lt;TABLE width="627"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;Data have&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;subjid&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;X&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Z&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Coll&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;count&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;ex&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;101&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;N&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;101&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;101&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;N&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;N&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;101&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;Y&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;N&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;1&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;2&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;Data want&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;subjid&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;X&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Z&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Coll&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;count&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;ex&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;101&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT face="arial black,avant garde"&gt;&lt;STRONG&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;Y&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&lt;FONT color="#000000"&gt;102&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;N&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&lt;FONT color="#000000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="79" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="85" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="51" height="30"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;DIV id="tinyMceEditornans_p_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditornans_p_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV id="tinyMceEditornans_p_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Sat, 10 Apr 2021 16:48:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732773#M228337</guid>
      <dc:creator>nans_p</dc:creator>
      <dc:date>2021-04-10T16:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732784#M228338</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I do not see why in obs=2 of your dataset want you get Y='Y' since there are only N in your group&lt;/P&gt;
&lt;P&gt;The solution could be something like this:&lt;/P&gt;
&lt;P&gt;(untested)&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;PROC SORT data=have; by subjid count descending X descending Y descending Z;RUN;
DATA want;
LENGTH x1 y1 z1 $1;
SET have;
BY subjid count;
RETAIN x1 y1 z1 '';
ARRAY val (3) x y z;
ARRAY lag (3) x1 y1 z1;
DO i=1 TO dim(val);
IF first.count then lag(i)='N';
IF val(i) eq 'Y' then lag(i)='Y';
IF coll eq 1 AND missing(val(i)) then val(i)=lag(i);
END;
RUN;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 10 Apr 2021 18:10:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732784#M228338</guid>
      <dc:creator>Oligolas</dc:creator>
      <dc:date>2021-04-10T18:10:07Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732788#M228340</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17493"&gt;@nans_p&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It took me a long time to figure out what you want exactly. Your explanation is not super-clear (probably due to having a variable Y and a value 'Y'). You are lucky it's a weekend day, otherwise I wouldn't have done the effort.&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just like&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/77163"&gt;@Oligolas&lt;/a&gt;, one of the records in the dataset WANT is not as you specified.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I deliberately pulled it all apart in many different steps so that you can easily assess if this is what you want. If you confirm this is what you want then we can come up with more concise code (like the code provided by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/77163"&gt;@Oligolas&lt;/a&gt;&amp;nbsp;). More concise code could come in handy (for performance reasons) if you have tens or hundreds of thousands of observations to deal with.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's my code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* one series is one combination of subjid and count? */
data have;
 input subjid X $ Y $ Z $ Coll count ex;
 informat X Y Z $1.;
 cards;
101	Y	N	Y	1	1	.
101	.   .   . 	1	1	1
101	N	N	Y	1	1	.
101	Y	Y	N	1	2	.
101	.   .   . 	1	2	.
101	Y	N	N	1	2	.
102	Y	N	N   .   .	.
102	N	N	N	1	1	.
102	.   .   . 	1	1	1
102	Y	N	N	1	1	.
102	N	N	N	1	1	.
;
run;

%MACRO LOOP_XYZ;
%DO i=1 %TO 3;
%IF       &amp;amp;i.=1 %THEN %LET LETTER=x;
%ELSE %IF &amp;amp;i.=2 %THEN %LET LETTER=y;
%ELSE %IF &amp;amp;i.=3 %THEN %LET LETTER=z;
%ELSE;
data missing_&amp;amp;LETTER._shouldbe_Y(keep=subjid count);
 set have;
 by subjid count;
 where &amp;amp;LETTER.='Y';
 where also Coll=1;
run;
PROC SORT data=missing_&amp;amp;LETTER._shouldbe_Y NODUPKEY;
 by subjid count;
run;
%END;
%MEND  LOOP_XYZ;
options mprint nosymbolgen;
%LOOP_XYZ

data want;
 merge have 
       missing_x_shouldbe_Y(in=in2)
	   missing_y_shouldbe_Y(in=in3)
	   missing_z_shouldbe_Y(in=in4);
 by subjid count;
 if X='' and Y='' and Z='' then ex=1;
 if in2 and x='' then x='Y'; else x='N';
 if in3 and y='' then y='Y'; else y='N';
 if in4 and z='' then z='Y'; else z='N';
run;
/* end of program */&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Koen&lt;/P&gt;</description>
      <pubDate>Sat, 10 Apr 2021 18:34:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732788#M228340</guid>
      <dc:creator>sbxkoenk</dc:creator>
      <dc:date>2021-04-10T18:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732789#M228341</link>
      <description>&lt;P&gt;The difference between my code and the code of &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/77163"&gt;@Oligolas&lt;/a&gt;&amp;nbsp;(I just looked at it) is that &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/77163"&gt;@Oligolas&lt;/a&gt;code only looks at the past records while I look at all records of a series (subjid + count) but maybe that is not necessary at all?&lt;/P&gt;
&lt;P&gt;Please clarify!&lt;/P&gt;
&lt;P&gt;Koen&lt;/P&gt;</description>
      <pubDate>Sat, 10 Apr 2021 18:41:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732789#M228341</guid>
      <dc:creator>sbxkoenk</dc:creator>
      <dc:date>2021-04-10T18:41:07Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732790#M228342</link>
      <description>&lt;P&gt;So you want to replace missing values of X with the MAX() value of X for the group? Simple enough with PROC SQL.&lt;/P&gt;
&lt;P&gt;First we need to clean up your example results so they match the rules.&amp;nbsp; Let's add a ROW variable so we can recreate the order.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
  infile cards dsd dlm='|' truncover;
  row+1;
  input subjid $ (X Y Z) (:$1.) Coll count ex ;
cards;
101|Y|N|Y|1|1| 
101| | | |1|1|1
101|N|N|Y|1|1| 
101|Y|Y|N|1|2| 
101| | | |1|2| 
101|Y|N|N|1|2| 
102|Y|N|N| | | 
102|N|N|N|1|1| 
102| | | |1|1|1
102|Y|N|N|1|1| 
102|N|N|N|1|1| 
;

data expect ;
  infile cards dsd dlm='|' truncover;
  row+1;
  input subjid $ (X Y Z) (:$1.) Coll count ex ;
cards;
101|Y|N|Y|1|1|  
101|Y|N|Y|1|1|1 | Change Y to 'N' 
101|N|N|Y|1|1|  
101|Y|Y|N|1|2|  
101|Y|Y|N|1|2|  |  Remvoed EX=1 
101|Y|N|N|1|2|  
102|Y|N|N| | |  
102|N|N|N|1|1|  
102|Y|N|N|1|1|1 
102|Y|N|N|1|1|  
102|N|N|N|1|1|  
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now use PROC SQL and then use PROC COMPARE to test the results&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql ;
 create table want as 
 select row
      , subjid 
      , count
      , Coll
      , ex
      , coalesce(X,max(X)) as X
      , coalesce(Y,max(Y)) as Y
      , coalesce(Z,max(Z)) as Z
 from have
 group by subjid,count
 order by row
 ;
quit;

proc print data=want;
run;

proc compare data=want compare=expect;
  id subjid count row;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    row    subjid    count    Coll    ex    X    Y    Z

  1      1     101        1        1      .    Y    N    Y
  2      2     101        1        1      1    Y    N    Y
  3      3     101        1        1      .    N    N    Y
  4      4     101        2        1      .    Y    Y    N
  5      5     101        2        1      .    Y    Y    N
  6      6     101        2        1      .    Y    N    N
  7      7     102        .        .      .    Y    N    N
  8      8     102        1        1      .    N    N    N
  9      9     102        1        1      1    Y    N    N
 10     10     102        1        1      .    Y    N    N
 11     11     102        1        1      .    N    N    N
&amp;#12;
SAS 9.4 on WINDOWS                                                                                  10:28 Wednesday, April 7, 2021 113

The COMPARE Procedure
Comparison of WORK.WANT with WORK.EXPECT
(Method=EXACT)

Data Set Summary

Dataset               Created          Modified  NVar    NObs

WORK.WANT    10APR21:14:52:58  10APR21:14:52:58     8      11
WORK.EXPECT  10APR21:14:52:58  10APR21:14:52:58     8      11


Variables Summary

Number of Variables in Common: 8.
Number of ID Variables: 3.


Observation Summary

Observation      Base  Compare  ID

First Obs           1        1  subjid=101 count=1 row=1
Last  Obs          11       11  subjid=102 count=1 row=11

Number of Observations in Common: 11.
Total Number of Observations Read from WORK.WANT: 11.
Total Number of Observations Read from WORK.EXPECT: 11.

Number of Observations with Some Compared Variables Unequal: 0.
Number of Observations with All Compared Variables Equal: 11.

NOTE: No unequal values were found. All values compared are exactly equal.

&lt;/PRE&gt;</description>
      <pubDate>Sat, 10 Apr 2021 18:55:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732790#M228342</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-04-10T18:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732791#M228343</link>
      <description>&lt;P&gt;Hi Koen,&lt;/P&gt;
&lt;P&gt;Thanks for looking at my query. I am sorry I couldn't be clear to explain.&lt;/P&gt;
&lt;P&gt;What I am looking for is if any of the values in the variable X , Y , Z&amp;nbsp; is 'Y'&amp;nbsp; ( 'Y' basically stands for Yes &amp;amp; N stands for 'No' ), by subjid and count (count is what I call series) then the missing value should be set to 'Y' (Yes).&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sat, 10 Apr 2021 18:59:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732791#M228343</guid>
      <dc:creator>nans_p</dc:creator>
      <dc:date>2021-04-10T18:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732798#M228345</link>
      <description>&lt;P&gt;It sounds like what you are trying to say is you want to replace all of the missing values with the same value for the BY group independent of which variable has the missing value?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This would be much easier if you coded the variables as 0/1 instead of 'N'/'Y'.&amp;nbsp; Then you caould use the two different MAX() function (SQL aggregate and SAS maximum functions) to find the maximum value over all three variable.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;select ...,coalesce(X,max(max(x,y,z))) as X....&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 10 Apr 2021 20:09:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732798#M228345</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-04-10T20:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732809#M228351</link>
      <description>&lt;P&gt;Here a data step approach using a hash lookup table.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  if _n_=1 then
    do;
      dcl hash h1(dataset:'have(where=(whichc("Y",x,y,z)&amp;gt;0))');
      h1.defineKey('subjid','count');
      h1.defineData('subjid','count');
      h1.defineDone();
    end;
  set have;
  if h1.check()=0 then 
    do;
      if missing(x) then x='Y';
      if missing(y) then y='Y';
      if missing(z) then z='Y';
    end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 11 Apr 2021 01:08:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732809#M228351</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2021-04-11T01:08:38Z</dc:date>
    </item>
    <item>
      <title>Re: Set missing record to 'Y' if any record in the series has Y</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732971#M228404</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;since I'm resorting the records by placing the filled ones ahead, I do consider all records in a group. The assumption I take is take x,y and z will be missing simultaneously.&lt;/P&gt;</description>
      <pubDate>Mon, 12 Apr 2021 09:35:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Set-missing-record-to-Y-if-any-record-in-the-series-has-Y/m-p/732971#M228404</guid>
      <dc:creator>Oligolas</dc:creator>
      <dc:date>2021-04-12T09:35:21Z</dc:date>
    </item>
  </channel>
</rss>

