<?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 enquiry in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239116#M43957</link>
    <description>&lt;P&gt;Just to note, simple tranposes can be used here, if you had lots of variables it may be a simpler method than numbering and each item:&lt;/P&gt;
&lt;PRE&gt;data have;
  input ID 	Card 	Usage 	Limit;
cards;
123 	1111 	50 	100
123 	1112 	10 	20
123 	1113 	15 	50
456 	2221 	40 	50
456 	2222 	0 	10
;
run;

proc transpose data=have out=card prefix=card;
  by id;
  var card;
run;
proc transpose data=have out=usage prefix=usage;
  by id;
  var usage;
run;
proc transpose data=have out=limit prefix=limit;
  by id;
  var limit;
run;
data want (drop=_name_);
  merge card usage limit;
  by id;
run;&lt;/PRE&gt;</description>
    <pubDate>Mon, 14 Dec 2015 11:08:24 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2015-12-14T11:08:24Z</dc:date>
    <item>
      <title>sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239104#M43954</link>
      <description>&lt;P&gt;i would like to get the&amp;nbsp;result found below if the input was the table below, attached is an excel sheet for easier access to the data&lt;/P&gt;
&lt;TABLE width="300"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="108"&gt;Input Example&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ID&lt;/TD&gt;
&lt;TD&gt;Card&lt;/TD&gt;
&lt;TD&gt;Usage&lt;/TD&gt;
&lt;TD&gt;Limit&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;1112&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;1113&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;456&lt;/TD&gt;
&lt;TD&gt;2221&lt;/TD&gt;
&lt;TD&gt;40&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;456&lt;/TD&gt;
&lt;TD&gt;2222&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="684"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colspan="2" width="172"&gt;Output Required&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ID&lt;/TD&gt;
&lt;TD&gt;Card1&lt;/TD&gt;
&lt;TD&gt;Usage1&lt;/TD&gt;
&lt;TD&gt;Limit1&lt;/TD&gt;
&lt;TD&gt;Card2&lt;/TD&gt;
&lt;TD&gt;Usage2&lt;/TD&gt;
&lt;TD&gt;Limit2&lt;/TD&gt;
&lt;TD&gt;Card3&lt;/TD&gt;
&lt;TD&gt;Usage3&lt;/TD&gt;
&lt;TD&gt;Limit3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;100&lt;/TD&gt;
&lt;TD&gt;1112&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1113&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;456&lt;/TD&gt;
&lt;TD&gt;2221&lt;/TD&gt;
&lt;TD&gt;40&lt;/TD&gt;
&lt;TD&gt;50&lt;/TD&gt;
&lt;TD&gt;2222&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Mon, 14 Dec 2015 08:45:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239104#M43954</guid>
      <dc:creator>SalmaTas</dc:creator>
      <dc:date>2015-12-14T08:45:13Z</dc:date>
    </item>
    <item>
      <title>Re: sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239105#M43955</link>
      <description>&lt;P&gt;please try&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID 	Card 	Usage 	Limit;
cards;
123 	1111 	50 	100
123 	1112 	10 	20
123 	1113 	15 	50
456 	2221 	40 	50
456 	2222 	0 	10
;

data have;
set have;
by id;
if first.id then count=1;
else count+1;
run;

options missing=0;
data want;
set have;
by id;
retain Card1- Card3 Usage1- Usage3 Limit1- Limit3;
array nc(3) Card1- Card3;
array nu(3) Usage1- Usage3;
array nl(3) Limit1- Limit3;
if first.id then do;
do i = 1 to 3;
nc(i)=.;
nu(i)=.;
nl(i)=.;
end;
end;
nc(count)=card;
nu(count)=usage;
nl(count)=limit;
if last.id;
drop i;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 14 Dec 2015 09:03:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239105#M43955</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2015-12-14T09:03:10Z</dc:date>
    </item>
    <item>
      <title>Re: sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239106#M43956</link>
      <description>thanks a lot, worked perfectly</description>
      <pubDate>Mon, 14 Dec 2015 09:28:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239106#M43956</guid>
      <dc:creator>SalmaTas</dc:creator>
      <dc:date>2015-12-14T09:28:15Z</dc:date>
    </item>
    <item>
      <title>Re: sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239116#M43957</link>
      <description>&lt;P&gt;Just to note, simple tranposes can be used here, if you had lots of variables it may be a simpler method than numbering and each item:&lt;/P&gt;
&lt;PRE&gt;data have;
  input ID 	Card 	Usage 	Limit;
cards;
123 	1111 	50 	100
123 	1112 	10 	20
123 	1113 	15 	50
456 	2221 	40 	50
456 	2222 	0 	10
;
run;

proc transpose data=have out=card prefix=card;
  by id;
  var card;
run;
proc transpose data=have out=usage prefix=usage;
  by id;
  var usage;
run;
proc transpose data=have out=limit prefix=limit;
  by id;
  var limit;
run;
data want (drop=_name_);
  merge card usage limit;
  by id;
run;&lt;/PRE&gt;</description>
      <pubDate>Mon, 14 Dec 2015 11:08:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239116#M43957</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-12-14T11:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239140#M43961</link>
      <description>great, thanks a lot</description>
      <pubDate>Mon, 14 Dec 2015 13:33:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239140#M43961</guid>
      <dc:creator>SalmaTas</dc:creator>
      <dc:date>2015-12-14T13:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: sas enquiry</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239481#M44067</link>
      <description>&lt;P&gt;The simplest way is using proc summary + idgroup .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID 	Card 	Usage 	Limit;
cards;
123 	1111 	50 	100
123 	1112 	10 	20
123 	1113 	15 	50
456 	2221 	40 	50
456 	2222 	0 	10
;
run;

proc sql noprint;
 select max(n) into : n
  from (select count(*) as n from have group by id);
quit;
proc summary data=have;
by id;
output out=want idgroup(out[&amp;amp;n] (Card 	Usage 	Limit)= );
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you have big table , check Merge Skill :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings15/2785-2015.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings15/2785-2015.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Dec 2015 07:26:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-enquiry/m-p/239481#M44067</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-12-16T07:26:24Z</dc:date>
    </item>
  </channel>
</rss>

