<?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: transpose data and add flags in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593987#M170589</link>
    <description>&lt;P&gt;Thank You!&lt;/P&gt;</description>
    <pubDate>Fri, 04 Oct 2019 00:04:48 GMT</pubDate>
    <dc:creator>vicky07</dc:creator>
    <dc:date>2019-10-04T00:04:48Z</dc:date>
    <item>
      <title>transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593576#M170367</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have the below sample data that contain phone numbers of employees. Each phone number is flagged with status which could be invalid OR bad OR null.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="228"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Uniq ID&lt;/TD&gt;
&lt;TD width="84"&gt;Phone&lt;/TD&gt;
&lt;TD width="80"&gt;phone_code&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;3438748789&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2349854087&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;3986540912&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;9835273309&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;7635876123&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;3897640987&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;4589076678&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;3322998761&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;4758572343&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;4298128908&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;2892483040&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;4989812908&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;8830981234&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;7812965432&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;6098345785&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;987&lt;/TD&gt;
&lt;TD&gt;4898735275&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;987&lt;/TD&gt;
&lt;TD&gt;9612433890&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;987&lt;/TD&gt;
&lt;TD&gt;5412985671&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;765&lt;/TD&gt;
&lt;TD&gt;8745454353&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;765&lt;/TD&gt;
&lt;TD&gt;4834953934&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;765&lt;/TD&gt;
&lt;TD&gt;9834623483&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;765&lt;/TD&gt;
&lt;TD&gt;9823349855&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;654&lt;/TD&gt;
&lt;TD&gt;7686767866&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;438&lt;/TD&gt;
&lt;TD&gt;3498375095&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;438&lt;/TD&gt;
&lt;TD&gt;2953058303&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am looking to transpose the data to one record per uniq ID and create the below flags(all_good, all_bad &amp;amp; GEONE_bad).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All_good&amp;nbsp; =&amp;nbsp; Y when there is no INVL OR BAD status flagged to any of the&amp;nbsp; non-missing phone numbers.&lt;/P&gt;
&lt;P&gt;GEONE_BAD =&amp;nbsp; Y when INVL OR BAD status&amp;nbsp; flagged to atleast one phone number.&lt;/P&gt;
&lt;P&gt;All_bad&amp;nbsp; =&amp;nbsp; Y when there is INVL OR BAD status flagged to all of the&amp;nbsp; non-missing phone numbers&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is my desired output:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="1455"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Uniq ID&lt;/TD&gt;
&lt;TD width="77"&gt;phone1&lt;/TD&gt;
&lt;TD width="77"&gt;phone2&lt;/TD&gt;
&lt;TD width="77"&gt;phone3&lt;/TD&gt;
&lt;TD width="77"&gt;phone4&lt;/TD&gt;
&lt;TD width="77"&gt;phone5&lt;/TD&gt;
&lt;TD width="77"&gt;phone6&lt;/TD&gt;
&lt;TD width="77"&gt;phone7&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code1&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code2&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code3&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code4&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code5&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code6&lt;/TD&gt;
&lt;TD width="92"&gt;phone_code7&lt;/TD&gt;
&lt;TD width="64"&gt;All_good&lt;/TD&gt;
&lt;TD width="80"&gt;GEONE_Bad&lt;/TD&gt;
&lt;TD width="64"&gt;All_bad&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;3438748789&lt;/TD&gt;
&lt;TD&gt;2349854087&lt;/TD&gt;
&lt;TD&gt;3986540912&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;333&lt;/TD&gt;
&lt;TD&gt;9835273309&lt;/TD&gt;
&lt;TD&gt;7635876123&lt;/TD&gt;
&lt;TD&gt;3897640987&lt;/TD&gt;
&lt;TD&gt;4589076678&lt;/TD&gt;
&lt;TD&gt;3322998761&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;532&lt;/TD&gt;
&lt;TD&gt;4758572343&lt;/TD&gt;
&lt;TD&gt;4298128908&lt;/TD&gt;
&lt;TD&gt;2892483040&lt;/TD&gt;
&lt;TD&gt;4989812908&lt;/TD&gt;
&lt;TD&gt;8830981234&lt;/TD&gt;
&lt;TD&gt;7812965432&lt;/TD&gt;
&lt;TD&gt;6098345785&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;987&lt;/TD&gt;
&lt;TD&gt;4898735275&lt;/TD&gt;
&lt;TD&gt;9612433890&lt;/TD&gt;
&lt;TD&gt;5412985671&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;INVL&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;765&lt;/TD&gt;
&lt;TD&gt;8745454353&lt;/TD&gt;
&lt;TD&gt;4834953934&lt;/TD&gt;
&lt;TD&gt;9834623483&lt;/TD&gt;
&lt;TD&gt;9823349855&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;654&lt;/TD&gt;
&lt;TD&gt;7686767866&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;438&lt;/TD&gt;
&lt;TD&gt;3498375095&lt;/TD&gt;
&lt;TD&gt;2953058303&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;BAD&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;N&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;TD&gt;Y&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help is much appreciated. Thank you!!.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Oct 2019 01:38:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593576#M170367</guid>
      <dc:creator>vicky07</dc:creator>
      <dc:date>2019-10-03T01:38:24Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593604#M170384</link>
      <description>&lt;P&gt;Please post data in a data step with datalines, so we have something easily usable for testing.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Oct 2019 06:03:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593604#M170384</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-03T06:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593678#M170417</link>
      <description>&lt;P&gt;Sorry, here you go:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data aa;&lt;BR /&gt;infile cards;&lt;BR /&gt;input uniq_id $3. @5 phone $10. &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/153152"&gt;@17&lt;/a&gt; phone_code $4.;&lt;BR /&gt;cards;&lt;BR /&gt;123 3438748789 INVL&lt;BR /&gt;123 2349854087 BAD&lt;BR /&gt;123 3986540912 &lt;BR /&gt;333 9835273309 INVL&lt;BR /&gt;333 7635876123 BAD&lt;BR /&gt;333 3897640987 &lt;BR /&gt;333 4589076678 BAD&lt;BR /&gt;333 3322998761 &lt;BR /&gt;532 4758572343 &lt;BR /&gt;532 4298128908 INVL&lt;BR /&gt;532 2892483040 BAD&lt;BR /&gt;532 4989812908 &lt;BR /&gt;532 8830981234 INVL&lt;BR /&gt;532 7812965432 &lt;BR /&gt;532 6098345785 INVL&lt;BR /&gt;987 4898735275 INVL&lt;BR /&gt;987 9612433890 INVL&lt;BR /&gt;987 5412985671 BAD&lt;BR /&gt;765 8745454353 BAD&lt;BR /&gt;765 4834953934 &lt;BR /&gt;765 9834623483 &lt;BR /&gt;765 9823349855 &lt;BR /&gt;654 7686767866 &lt;BR /&gt;438 3498375095 BAD&lt;BR /&gt;438 2953058303 BAD&lt;BR /&gt;;&lt;BR /&gt;Quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Oct 2019 11:44:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593678#M170417</guid>
      <dc:creator>vicky07</dc:creator>
      <dc:date>2019-10-03T11:44:55Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593691#M170425</link>
      <description>&lt;P&gt;See this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data aa;
infile cards truncover;
input uniq_id :$3.  phone :$10.  phone_code :$4.;
cards;
123 3438748789 INVL
123 2349854087 BAD
123 3986540912 
333 9835273309 INVL
333 7635876123 BAD
333 3897640987 
333 4589076678 BAD
333 3322998761 
532 4758572343 
532 4298128908 INVL
532 2892483040 BAD
532 4989812908 
532 8830981234 INVL
532 7812965432 
532 6098345785 INVL
987 4898735275 INVL
987 9612433890 INVL
987 5412985671 BAD
765 8745454353 BAD
765 4834953934 
765 9834623483 
765 9823349855 
654 7686767866 
438 3498375095 BAD
438 2953058303 BAD
;

data valid;
set aa;
by uniq_id notsorted;
if first.uniq_id
then do;
  count = 0;
  bad_count = 0;
end;
count + 1;
if phone_code &amp;gt; '' then bad_count + 1;
if last.uniq_id;
if bad_count = 0
then do;
  all_good = 'Y';
  geone_bad = 'N';
  all_bad = 'N';
end;
else do;
  all_good = 'N';
  geone_bad = 'Y';
  if bad_count = count
  then all_bad = 'Y';
  else all_bad = 'N';
end;
keep uniq_id all_good geone_bad all_bad;
run;

proc transpose
  data=aa
  out=trans1
;
by uniq_id notsorted;
var phone phone_code;
run;

proc transpose
  data=trans1
  out=trans2
;
var col:;
by uniq_id notsorted _name_ notsorted;
run;

data trans3;
set trans2;
by uniq_id notsorted _name_ notsorted;
length name $32;
if first._name_
then count = 1;
else count + 1;
name = cats(_name_,count);
run;

proc transpose
  data=trans3
  out=trans4 (drop=_name_)
;
by uniq_id notsorted;
id name;
var col1;
run;

data want;
merge
  trans4
  valid
;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Oct 2019 12:52:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593691#M170425</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-03T12:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593704#M170435</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

Data aa;
infile cards truncover;
input uniq_id $ phone  phone_code $;
cards;
123 3438748789 INVL
123 2349854087 BAD
123 3986540912
333 9835273309 INVL
333 7635876123 BAD
333 3897640987
333 4589076678 BAD
333 3322998761
532 4758572343
532 4298128908 INVL
532 2892483040 BAD
532 4989812908
532 8830981234 INVL
532 7812965432
532 6098345785 INVL
987 4898735275 INVL
987 9612433890 INVL
987 5412985671 BAD
765 8745454353 BAD
765 4834953934
765 9834623483
765 9823349855
654 7686767866
438 3498375095 BAD
438 2953058303 BAD
;
Quit;

proc sql noprint;
select max(n) into : n
 from (select count(*) as n from aa group by uniq_id);
quit;
proc summary data=aa nway;
class uniq_id;
output out=temp(drop=_:) idgroup(out[&amp;amp;n] (phone phone_code)=);
run;
proc sql;
create table key as
select uniq_id,
ifc(sum(phone_code in ('INVL' 'BAD')), 'N','Y') as All_good,
ifc(sum(phone_code in ('INVL' 'BAD')), 'Y','N') as GEONE_BAD,
ifc(sum(phone_code in ('INVL' 'BAD'))=count(*), 'Y','N') as All_bad 
 from aa
  group by uniq_id;
  
create table want as
select a.*,All_good,GEONE_BAD,All_bad
 from temp as a left join key as b
  on a.uniq_id=b.uniq_id;
quit;


proc print noobs;run;


 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Oct 2019 13:13:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593704#M170435</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2019-10-03T13:13:20Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593805#M170490</link>
      <description>Ksharp - First off, thank you for your solution. I just noticed that i have uniq_id set as character in my dataset. Uniq_id should be actually numeric variable. Would it change anything in the code. Sorry for the confusion!</description>
      <pubDate>Thu, 03 Oct 2019 16:44:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593805#M170490</guid>
      <dc:creator>vicky07</dc:creator>
      <dc:date>2019-10-03T16:44:55Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593834#M170501</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/9440"&gt;@vicky07&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;Uniq_id should be actually numeric variable. Would it change anything in the code.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No, no and triple no. ID's are not used for calculations, so store them as character.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Oct 2019 17:49:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593834#M170501</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-03T17:49:40Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593986#M170588</link>
      <description>Thank you!</description>
      <pubDate>Fri, 04 Oct 2019 00:03:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593986#M170588</guid>
      <dc:creator>vicky07</dc:creator>
      <dc:date>2019-10-04T00:03:04Z</dc:date>
    </item>
    <item>
      <title>Re: transpose data and add flags</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593987#M170589</link>
      <description>&lt;P&gt;Thank You!&lt;/P&gt;</description>
      <pubDate>Fri, 04 Oct 2019 00:04:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose-data-and-add-flags/m-p/593987#M170589</guid>
      <dc:creator>vicky07</dc:creator>
      <dc:date>2019-10-04T00:04:48Z</dc:date>
    </item>
  </channel>
</rss>

