<?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: proc tabulate in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/proc-tabulate/m-p/668021#M79088</link>
    <description>&lt;P&gt;Have look at the code sample below, I removed all the formatting stuff, it is easier to get started when you still see the table structure.&lt;/P&gt;
&lt;P&gt;I assume in the end you want to have all the calculations in one table statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are several books on Proc TABULATE as well to get more insight.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Rawtbl;
input ID z1 z2 z3 $ Y;
cards;
1 830 2020 a 10
2 830 2020 b 20
3 830 2019 b 30
4 830 2019 b 40
5 830 2019 b 50
6 830 2020 b 60
7 850 2019 b 70
8 850 2019 a 80
9 850 2019 a 90
10 850 2020 a 100
11 830 2019 c 110
12 830 2019 c 120
;
run;


proc format;
value $FFF
a= 'Sucess'
b,c= 'Failure'
;
run;



option missing=0;
proc tabulate data=Rawtbl
/*  style=[font_face="Arial" font_size=9pt just=c]*/
;
class z1 z2 z3;
var y;
classlev z1 /;
classlev z2 z3 /;
/***Report1*****/
/***Report1*****/
/***Report1*****/
table z1 , z2 * z3*n all*N / printmiss ;


/***Report2*****/
/***Report2*****/
/***Report2*****/
table z1 , z2 *(z3 all="Total") *SUM *Y='Sum_Y'/ printmiss;

/***Report3*****/
/***Report3*****/
/***Report3*****/
table z1 , z2 * z3  * (n pctn&amp;lt;all*z1 z3&amp;gt;="pctn&amp;lt;all*z1 z3&amp;gt;"*f=4.1) / printmiss ;

/***Report4*****/
/***Report4*****/
/***Report3*****/
/***Report4*****/
table z1 , z2 * z3 *  (sum PCTSUM&amp;lt;all*z1 z3&amp;gt;="pctsum&amp;lt;all*z1 z3&amp;gt;"*f=4.1)*Y / printmiss ;

format z3 $FFF.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 09 Jul 2020 12:48:51 GMT</pubDate>
    <dc:creator>BrunoMueller</dc:creator>
    <dc:date>2020-07-09T12:48:51Z</dc:date>
    <item>
      <title>proc tabulate</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-tabulate/m-p/667999#M79087</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I want to make some changes to following report:&lt;/P&gt;
&lt;P&gt;1- In Report1 - For each year (2019,2020) to add a column with Total N&lt;/P&gt;
&lt;P&gt;2-&amp;nbsp;In Report2 - For each year (2019,2020) to add a column with Total Y&lt;/P&gt;
&lt;P&gt;3-In Report 3 I want to calculate percent from total N in each team, year.&lt;/P&gt;
&lt;P&gt;Currently this calculation is wrong and I don't get the desired outcome.&lt;/P&gt;
&lt;P&gt;4-In Report 4 I want to calculate percent from total Y in each team, year.&lt;BR /&gt;Currently this calculation is wrong and I don't get the desired outcome.&lt;/P&gt;
&lt;P&gt;5-I want to ask if there is a way to get the 4 outputs in one code&amp;nbsp; of proc tabulate&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Rawtbl;
input ID z1 z2 z3 $ Y;
cards;
1 830 2020 a 10
2 830 2020 b 20
3 830 2019 b 30
4 830 2019 b 40
5 830 2019 b 50
6 830 2020 b 60
7 850 2019 b 70
8 850 2019 a 80
9 850 2019 a 90
10 850 2020 a 100
11 830 2019 c 110
12 830 2019 c 120
;
run;


proc format;
value $FFF
a= 'Sucess'
b,c= 'Failure'
;
run;


/***Report1*****/
/***Report1*****/
/***Report1*****/
option missing=0;
proc tabulate data=Rawtbl style=[font_face="Arial" font_size=9pt just=c];
class z1 z2 z3;
classlev z1 /style=[font_face="Arial" font_size=9pt fontweight=medium backgroundcolor=white];
classlev z2 z3 / style=[font_face="Arial" font_size=9pt];
table z1='', z2=''*z3=''*n=''/ printmiss 
                              box= [label='Team'  style=[font_face="Arial"
                                                                  font_size=9pt
                                                                  just=l
                                                                  verticalalign=bottom]];
format z3 $FFF.;
run;


/***Report2*****/
/***Report2*****/
/***Report2*****/
option missing=0;
proc tabulate data=Rawtbl style=[font_face="Arial" font_size=9pt just=c];
class z1 z2 z3;
var Y;
classlev z1 /style=[font_face="Arial" font_size=9pt fontweight=medium backgroundcolor=white];
classlev z2 z3 / style=[font_face="Arial" font_size=9pt];
table z1='', z2=''*z3=''*SUM=''*Y='Sum_Y'/ printmiss 
                              box= [label='Team'  style=[font_face="Arial"
                                                                  font_size=9pt
                                                                  just=l
                                                                  verticalalign=bottom]];
format z3 $FFF.;
run;



/***Report3*****/
/***Report3*****/
/***Report3*****/
option missing=0;
proc tabulate data=Rawtbl style=[font_face="Arial" font_size=9pt just=c];
class z1 z2 z3;
classlev z1 /style=[font_face="Arial" font_size=9pt fontweight=medium backgroundcolor=white];
classlev z2 z3 / style=[font_face="Arial" font_size=9pt];
table z1='', z2=''*z3=''*PCTN=''/ printmiss 
                              box= [label='Team'  style=[font_face="Arial"
                                                                  font_size=9pt
                                                                  just=l
                                                                  verticalalign=bottom]];
format z3 $FFF.;
run;


/***Report4*****/
/***Report4*****/
/***Report3*****/
/***Report4*****/
proc tabulate data=Rawtbl style=[font_face="Arial" font_size=9pt just=c];
class z1 z2 z3;
Var Y;
classlev z1 /style=[font_face="Arial" font_size=9pt fontweight=medium backgroundcolor=white];
classlev z2 z3 / style=[font_face="Arial" font_size=9pt];
table z1='', z2=''*z3=''*PCTSUM*Y=''/ printmiss 
                              box= [label='Team'  style=[font_face="Arial"
                                                                  font_size=9pt
                                                                  just=l
                                                                  verticalalign=bottom]];
format z3 $FFF.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jul 2020 10:40:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-tabulate/m-p/667999#M79087</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2020-07-09T10:40:26Z</dc:date>
    </item>
    <item>
      <title>Re: proc tabulate</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-tabulate/m-p/668021#M79088</link>
      <description>&lt;P&gt;Have look at the code sample below, I removed all the formatting stuff, it is easier to get started when you still see the table structure.&lt;/P&gt;
&lt;P&gt;I assume in the end you want to have all the calculations in one table statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are several books on Proc TABULATE as well to get more insight.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Rawtbl;
input ID z1 z2 z3 $ Y;
cards;
1 830 2020 a 10
2 830 2020 b 20
3 830 2019 b 30
4 830 2019 b 40
5 830 2019 b 50
6 830 2020 b 60
7 850 2019 b 70
8 850 2019 a 80
9 850 2019 a 90
10 850 2020 a 100
11 830 2019 c 110
12 830 2019 c 120
;
run;


proc format;
value $FFF
a= 'Sucess'
b,c= 'Failure'
;
run;



option missing=0;
proc tabulate data=Rawtbl
/*  style=[font_face="Arial" font_size=9pt just=c]*/
;
class z1 z2 z3;
var y;
classlev z1 /;
classlev z2 z3 /;
/***Report1*****/
/***Report1*****/
/***Report1*****/
table z1 , z2 * z3*n all*N / printmiss ;


/***Report2*****/
/***Report2*****/
/***Report2*****/
table z1 , z2 *(z3 all="Total") *SUM *Y='Sum_Y'/ printmiss;

/***Report3*****/
/***Report3*****/
/***Report3*****/
table z1 , z2 * z3  * (n pctn&amp;lt;all*z1 z3&amp;gt;="pctn&amp;lt;all*z1 z3&amp;gt;"*f=4.1) / printmiss ;

/***Report4*****/
/***Report4*****/
/***Report3*****/
/***Report4*****/
table z1 , z2 * z3 *  (sum PCTSUM&amp;lt;all*z1 z3&amp;gt;="pctsum&amp;lt;all*z1 z3&amp;gt;"*f=4.1)*Y / printmiss ;

format z3 $FFF.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Jul 2020 12:48:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-tabulate/m-p/668021#M79088</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2020-07-09T12:48:51Z</dc:date>
    </item>
  </channel>
</rss>

