<?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: Column group,subgroup,sub-subgroup grouping in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47635#M12815</link>
    <description>Hello Suddhartha,&lt;BR /&gt;
&lt;BR /&gt;
This is another solution (pure dataset operations):&lt;BR /&gt;
[pre]&lt;BR /&gt;
data i;&lt;BR /&gt;
  length prd_grp prd_subgroup prd_desc $15; &lt;BR /&gt;
  input prd_grp $ prd_subgroup $ prd_desc $ loan_amount;&lt;BR /&gt;
datalines;&lt;BR /&gt;
ASSETS All_Other Loans 234 &lt;BR /&gt;
ASSETS All_Other abc 345&lt;BR /&gt;
ASSETS All_Other Quoted_Shares 213&lt;BR /&gt;
LIABILIITES Deposits Current_Deposs 435 &lt;BR /&gt;
LIABILIITES Deposits Fixed 325&lt;BR /&gt;
LIABILIITES Deposits NIDs_&amp;amp;_Repos 256&lt;BR /&gt;
LIABILIITES Deposits Savings 218&lt;BR /&gt;
;&lt;BR /&gt;
run;&lt;BR /&gt;
data t;&lt;BR /&gt;
  retain prd_grp prd_subgroup prd_desc loan_amount total grand_total pr;&lt;BR /&gt;
  set i end=ie;&lt;BR /&gt;
  if _n_=1 then grand_total=0;&lt;BR /&gt;
  if first.prd_grp then do; pr=1; output; end;&lt;BR /&gt;
  if first.prd_subgroup then do; pr=2; output; total=0; end;&lt;BR /&gt;
  pr=3; output;&lt;BR /&gt;
  total+loan_amount;&lt;BR /&gt;
  if last.prd_subgroup then do; pr=4; output; end;&lt;BR /&gt;
  grand_total+loan_amount;&lt;BR /&gt;
  by prd_grp prd_subgroup;&lt;BR /&gt;
  keep prd_grp prd_subgroup prd_desc loan_amount total grand_total pr;&lt;BR /&gt;
  if ie then do; pr=5; output; end;&lt;BR /&gt;
run;&lt;BR /&gt;
data r(keep=Item Loan_Amount);&lt;BR /&gt;
  retain Item Loan_Amount;&lt;BR /&gt;
  set t;&lt;BR /&gt;
  if pr=1 then do; Item=prd_grp; loan_amount=.; end;&lt;BR /&gt;
  if pr=2 then do; Item=prd_subgroup; loan_amount=.; end;&lt;BR /&gt;
  if pr=3 then do; Item=prd_desc; end;&lt;BR /&gt;
  if pr=4 then do; Item="Total"; loan_amount=Total; end;&lt;BR /&gt;
  if pr=5 then do; Item="Grand Total"; loan_amount=grand_Total; end;&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
Sincerely,&lt;BR /&gt;
SPR</description>
    <pubDate>Thu, 09 Dec 2010 19:42:54 GMT</pubDate>
    <dc:creator>SPR</dc:creator>
    <dc:date>2010-12-09T19:42:54Z</dc:date>
    <item>
      <title>Column group,subgroup,sub-subgroup grouping</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47633#M12813</link>
      <description>I have four columns named prd_grp,prd-subgroup,prd_desc and loan_amount.&lt;BR /&gt;
The data is as follows:&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
prd_grp	 	prd_subgroup 	prd_desc 	               loan_amount&lt;BR /&gt;
&lt;BR /&gt;
ASSETS 		All_Other 	               Loans 		234 &lt;BR /&gt;
ASSETS 		All_Other 	               abc 		345&lt;BR /&gt;
ASSETS 		All_Other 	               Quoted_Shares           213&lt;BR /&gt;
LIABILIITES 	Deposits 	               Current_Deposs          435 &lt;BR /&gt;
LIABILIITES 	Deposits	               Fixed 		325&lt;BR /&gt;
LIABILIITES 	Deposits	               NIDs &amp;amp; Repos 	256&lt;BR /&gt;
LIABILIITES 	Deposits 	               Savings 	                218&lt;BR /&gt;
&lt;BR /&gt;
Below is the output I needed&lt;BR /&gt;
&lt;BR /&gt;
Item 			Loan_amount&lt;BR /&gt;
&lt;BR /&gt;
ASSETS &lt;BR /&gt;
All_Other &lt;BR /&gt;
Loans 			234 &lt;BR /&gt;
abc 			345&lt;BR /&gt;
Quoted_Shares Held 	                213&lt;BR /&gt;
Total 			692&lt;BR /&gt;
LIABILIITES&lt;BR /&gt;
Deposits&lt;BR /&gt;
Current Deposits 	                435&lt;BR /&gt;
Fixed 			325&lt;BR /&gt;
NIDs &amp;amp; Repos 		256&lt;BR /&gt;
Savings 		                218&lt;BR /&gt;
Grand_Total 		1234&lt;BR /&gt;
&lt;BR /&gt;
Can anyone help me on this, as this is critical.&lt;BR /&gt;
Thanks in advance.&lt;BR /&gt;
&lt;BR /&gt;
Regards,&lt;BR /&gt;
Siddhartha</description>
      <pubDate>Thu, 09 Dec 2010 18:02:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47633#M12813</guid>
      <dc:creator>Siddhartha</dc:creator>
      <dc:date>2010-12-09T18:02:32Z</dc:date>
    </item>
    <item>
      <title>Re: Column group,subgroup,sub-subgroup grouping</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47634#M12814</link>
      <description>You did not specify how you wanted your results (data or report), so here are a couple of possible solutions.&lt;BR /&gt;
[pre]data balance;&lt;BR /&gt;
length prd_grp $11 prd_subgroup $10 prd_desc $15;&lt;BR /&gt;
input prd_grp $ prd_subgroup $ prd_desc $ loan_amount;&lt;BR /&gt;
datalines;&lt;BR /&gt;
ASSETS All_Other Loans 234 &lt;BR /&gt;
ASSETS All_Other abc 345&lt;BR /&gt;
ASSETS All_Other Quoted_Shares 213&lt;BR /&gt;
LIABILIITES Deposits Current_Deposs 435 &lt;BR /&gt;
LIABILIITES Deposits Fixed 325&lt;BR /&gt;
LIABILIITES Deposits NIDs&amp;amp;Repos 256&lt;BR /&gt;
LIABILIITES Deposits Savings 218&lt;BR /&gt;
run;&lt;BR /&gt;
title 'balance sheet';&lt;BR /&gt;
proc summary data=balance ;&lt;BR /&gt;
class prd_grp prd_desc ;&lt;BR /&gt;
var loan_amount;&lt;BR /&gt;
output out=sumry(where=(_type_ ne 1)) sum=total;&lt;BR /&gt;
run;&lt;BR /&gt;
proc print data=sumry;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
proc report data=balance nowd;&lt;BR /&gt;
column prd_grp prd_desc loan_amount;&lt;BR /&gt;
define prd_grp / group;&lt;BR /&gt;
define prd_desc / group;&lt;BR /&gt;
define loan_amount / analysis sum;&lt;BR /&gt;
break after prd_grp / summarize;&lt;BR /&gt;
rbreak after / summarize;&lt;BR /&gt;
run;[/pre]&lt;BR /&gt;
Your example output did not really show what you wanted to do with prd_subgroup, but adding it into one of these solutions is very straightforward.</description>
      <pubDate>Thu, 09 Dec 2010 18:57:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47634#M12814</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2010-12-09T18:57:35Z</dc:date>
    </item>
    <item>
      <title>Re: Column group,subgroup,sub-subgroup grouping</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47635#M12815</link>
      <description>Hello Suddhartha,&lt;BR /&gt;
&lt;BR /&gt;
This is another solution (pure dataset operations):&lt;BR /&gt;
[pre]&lt;BR /&gt;
data i;&lt;BR /&gt;
  length prd_grp prd_subgroup prd_desc $15; &lt;BR /&gt;
  input prd_grp $ prd_subgroup $ prd_desc $ loan_amount;&lt;BR /&gt;
datalines;&lt;BR /&gt;
ASSETS All_Other Loans 234 &lt;BR /&gt;
ASSETS All_Other abc 345&lt;BR /&gt;
ASSETS All_Other Quoted_Shares 213&lt;BR /&gt;
LIABILIITES Deposits Current_Deposs 435 &lt;BR /&gt;
LIABILIITES Deposits Fixed 325&lt;BR /&gt;
LIABILIITES Deposits NIDs_&amp;amp;_Repos 256&lt;BR /&gt;
LIABILIITES Deposits Savings 218&lt;BR /&gt;
;&lt;BR /&gt;
run;&lt;BR /&gt;
data t;&lt;BR /&gt;
  retain prd_grp prd_subgroup prd_desc loan_amount total grand_total pr;&lt;BR /&gt;
  set i end=ie;&lt;BR /&gt;
  if _n_=1 then grand_total=0;&lt;BR /&gt;
  if first.prd_grp then do; pr=1; output; end;&lt;BR /&gt;
  if first.prd_subgroup then do; pr=2; output; total=0; end;&lt;BR /&gt;
  pr=3; output;&lt;BR /&gt;
  total+loan_amount;&lt;BR /&gt;
  if last.prd_subgroup then do; pr=4; output; end;&lt;BR /&gt;
  grand_total+loan_amount;&lt;BR /&gt;
  by prd_grp prd_subgroup;&lt;BR /&gt;
  keep prd_grp prd_subgroup prd_desc loan_amount total grand_total pr;&lt;BR /&gt;
  if ie then do; pr=5; output; end;&lt;BR /&gt;
run;&lt;BR /&gt;
data r(keep=Item Loan_Amount);&lt;BR /&gt;
  retain Item Loan_Amount;&lt;BR /&gt;
  set t;&lt;BR /&gt;
  if pr=1 then do; Item=prd_grp; loan_amount=.; end;&lt;BR /&gt;
  if pr=2 then do; Item=prd_subgroup; loan_amount=.; end;&lt;BR /&gt;
  if pr=3 then do; Item=prd_desc; end;&lt;BR /&gt;
  if pr=4 then do; Item="Total"; loan_amount=Total; end;&lt;BR /&gt;
  if pr=5 then do; Item="Grand Total"; loan_amount=grand_Total; end;&lt;BR /&gt;
run;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
Sincerely,&lt;BR /&gt;
SPR</description>
      <pubDate>Thu, 09 Dec 2010 19:42:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47635#M12815</guid>
      <dc:creator>SPR</dc:creator>
      <dc:date>2010-12-09T19:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: Column group,subgroup,sub-subgroup grouping</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47636#M12816</link>
      <description>Hi:&lt;BR /&gt;
  You already posted this question in the ODS forum and several answers have been posted there, too.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Thu, 09 Dec 2010 20:45:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Column-group-subgroup-sub-subgroup-grouping/m-p/47636#M12816</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2010-12-09T20:45:02Z</dc:date>
    </item>
  </channel>
</rss>

