<?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 problems applying format on subtotals through proc report in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6486#M2074</link>
    <description>hi,&lt;BR /&gt;
&lt;BR /&gt;
i have a problem applying format on average land possessed (hectare 0.00) through proc report below is my piece of code &lt;BR /&gt;
i have to apply format only to the row of  average land possessed (hectare 0.00)&lt;BR /&gt;
bcoz i am using the common variable to calculate average land  as well as other colmuns.iwant format 8.2 only on the above  row and others 8.&lt;BR /&gt;
&lt;BR /&gt;
code:&lt;BR /&gt;
&lt;BR /&gt;
proc format ; &lt;BR /&gt;
value  dottozero .='0' other = [8.];&lt;BR /&gt;
run;&lt;BR /&gt;
proc sql noprint;&lt;BR /&gt;
select sum(Multiplier) into:all2 from Rural;&lt;BR /&gt;
select sum(multiplier) into:a1-:a5 from Rural&lt;BR /&gt;
group by Soc_Grp_Name;&lt;BR /&gt;
select count(hh_info_Skey) into:s1-:s5 from Rural&lt;BR /&gt;
group by Soc_Grp_Name;&lt;BR /&gt;
quit;&lt;BR /&gt;
options orientation=landscape;&lt;BR /&gt;
Proc Report data=WORK.Rural out=temp;&lt;BR /&gt;
column &lt;BR /&gt;
	   cnt1&lt;BR /&gt;
	   cnt&lt;BR /&gt;
	   cnt2&lt;BR /&gt;
	   cnt_ms&lt;BR /&gt;
       sector_cd&lt;BR /&gt;
	   (Multiplier=all3)&lt;BR /&gt;
	   ('size class of land possessed (hectares)' Land_Gp_Desc1)&lt;BR /&gt;
	   ('household social group' Soc_Grp_Name,(Multiplier Multiplier=all1))&lt;BR /&gt;
	   ('all' Multiplier=all)&lt;BR /&gt;
	   ("household" ""("estd.(00)" Multiplier=all_estpersons)("sample" hh_info_Skey=all_samper) SIZE macrovar macrompcecal);&lt;BR /&gt;
define sector_cd / noprint;&lt;BR /&gt;
define cnt_ms / noprint group ;&lt;BR /&gt;
define cnt2 / noprint group ;&lt;BR /&gt;
define cnt / noprint group ;&lt;BR /&gt;
define cnt1 / noprint group ;&lt;BR /&gt;
define Land_Gp_Desc1 / group "" order=internal ;&lt;BR /&gt;
define Soc_Grp_Name / across "" order=data; &lt;BR /&gt;
define Multiplier / sum "" format=dottozero.;&lt;BR /&gt;
define all_estpersons / sum "" format=8.;&lt;BR /&gt;
DEFINE SIZE / COMPUTED NOPRINT;&lt;BR /&gt;
define all / sum ""   format=dottozero.;&lt;BR /&gt;
DEFINE ALL1/ sum ""  noprint format=8.2;&lt;BR /&gt;
DEFINE ALL2/sum "" NOPRINT;&lt;BR /&gt;
DEFINE ALL3/mean "" noprint;&lt;BR /&gt;
define all_samper / n "" ;&lt;BR /&gt;
define macrovar / computed noprint;&lt;BR /&gt;
define macrompcecal / computed noprint;&lt;BR /&gt;
break after cnt1/summarize;&lt;BR /&gt;
break after cnt/summarize;  &lt;BR /&gt;
break after cnt2/summarize;&lt;BR /&gt;
break after cnt_ms/summarize;&lt;BR /&gt;
COMPUTE SIZE;&lt;BR /&gt;
_C8_ = _C8_ /&amp;amp;a5 *1000;&lt;BR /&gt;
_C10_ = _C10_ /&amp;amp;a4 *1000;&lt;BR /&gt;
_C12_ = _C12_ /&amp;amp;a2 *1000;&lt;BR /&gt;
_C14_ = _C14_ /&amp;amp;a3*1000;&lt;BR /&gt;
_C16_ = _C16_ /&amp;amp;a1*1000;&lt;BR /&gt;
all_estpersons=all_estpersons/100;&lt;BR /&gt;
ALL=ALL/&amp;amp;ALL2*1000;&lt;BR /&gt;
ENDCOMP;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt_ms;&lt;BR /&gt;
Land_Gp_Desc1='total';&lt;BR /&gt;
_C8_ = _C8_;&lt;BR /&gt;
_C10_ = _C10_;&lt;BR /&gt;
_C12_ = _C12_;&lt;BR /&gt;
_C14_ = _C14_;&lt;BR /&gt;
_C16_ = _C16_;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt2;&lt;BR /&gt;
Land_Gp_Desc1='per 1000 dist. of hhs.';&lt;BR /&gt;
_C8_ = &amp;amp;a5/&amp;amp;all2*1000;&lt;BR /&gt;
_C10_ = &amp;amp;a4/&amp;amp;all2*1000;&lt;BR /&gt;
_C12_ = &amp;amp;a2/&amp;amp;all2*1000;&lt;BR /&gt;
_C14_ = &amp;amp;a3/&amp;amp;all2*1000;&lt;BR /&gt;
_C16_ = &amp;amp;a1/&amp;amp;all2*1000;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt;&lt;BR /&gt;
Land_Gp_Desc1='average land possessed (hectare 0.00)';&lt;BR /&gt;
_C8_ = &amp;amp;a5/&amp;amp;s5;&lt;BR /&gt;
_C10_ = &amp;amp;a4/&amp;amp;s4;&lt;BR /&gt;
_C12_ = &amp;amp;a2/&amp;amp;s2;&lt;BR /&gt;
_C14_ = &amp;amp;a3/&amp;amp;s3;&lt;BR /&gt;
_C16_ = put(&amp;amp;a1/&amp;amp;s1,8.2);&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt1;&lt;BR /&gt;
Land_Gp_Desc1='estd. hhs.(00)';&lt;BR /&gt;
_C8_ = &amp;amp;a5/100;&lt;BR /&gt;
_C10_ = &amp;amp;a4/100;&lt;BR /&gt;
_C12_ = &amp;amp;a2/100;&lt;BR /&gt;
_C14_ =&amp;amp;a3 /100;&lt;BR /&gt;
_C16_ = &amp;amp;a1/100;&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after;&lt;BR /&gt;
Land_Gp_Desc1='sample hhs';&lt;BR /&gt;
_c8_=&amp;amp;s5;&lt;BR /&gt;
_c10_=&amp;amp;s4;&lt;BR /&gt;
_c12_=&amp;amp;s2;&lt;BR /&gt;
_c14_=&amp;amp;s3;&lt;BR /&gt;
_c16_=&amp;amp;s1;&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
rbreak after / summarize ;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
end of code.&lt;BR /&gt;
&lt;BR /&gt;
so tell me some solution to do these.</description>
    <pubDate>Wed, 23 Jan 2008 05:29:14 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2008-01-23T05:29:14Z</dc:date>
    <item>
      <title>problems applying format on subtotals through proc report</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6486#M2074</link>
      <description>hi,&lt;BR /&gt;
&lt;BR /&gt;
i have a problem applying format on average land possessed (hectare 0.00) through proc report below is my piece of code &lt;BR /&gt;
i have to apply format only to the row of  average land possessed (hectare 0.00)&lt;BR /&gt;
bcoz i am using the common variable to calculate average land  as well as other colmuns.iwant format 8.2 only on the above  row and others 8.&lt;BR /&gt;
&lt;BR /&gt;
code:&lt;BR /&gt;
&lt;BR /&gt;
proc format ; &lt;BR /&gt;
value  dottozero .='0' other = [8.];&lt;BR /&gt;
run;&lt;BR /&gt;
proc sql noprint;&lt;BR /&gt;
select sum(Multiplier) into:all2 from Rural;&lt;BR /&gt;
select sum(multiplier) into:a1-:a5 from Rural&lt;BR /&gt;
group by Soc_Grp_Name;&lt;BR /&gt;
select count(hh_info_Skey) into:s1-:s5 from Rural&lt;BR /&gt;
group by Soc_Grp_Name;&lt;BR /&gt;
quit;&lt;BR /&gt;
options orientation=landscape;&lt;BR /&gt;
Proc Report data=WORK.Rural out=temp;&lt;BR /&gt;
column &lt;BR /&gt;
	   cnt1&lt;BR /&gt;
	   cnt&lt;BR /&gt;
	   cnt2&lt;BR /&gt;
	   cnt_ms&lt;BR /&gt;
       sector_cd&lt;BR /&gt;
	   (Multiplier=all3)&lt;BR /&gt;
	   ('size class of land possessed (hectares)' Land_Gp_Desc1)&lt;BR /&gt;
	   ('household social group' Soc_Grp_Name,(Multiplier Multiplier=all1))&lt;BR /&gt;
	   ('all' Multiplier=all)&lt;BR /&gt;
	   ("household" ""("estd.(00)" Multiplier=all_estpersons)("sample" hh_info_Skey=all_samper) SIZE macrovar macrompcecal);&lt;BR /&gt;
define sector_cd / noprint;&lt;BR /&gt;
define cnt_ms / noprint group ;&lt;BR /&gt;
define cnt2 / noprint group ;&lt;BR /&gt;
define cnt / noprint group ;&lt;BR /&gt;
define cnt1 / noprint group ;&lt;BR /&gt;
define Land_Gp_Desc1 / group "" order=internal ;&lt;BR /&gt;
define Soc_Grp_Name / across "" order=data; &lt;BR /&gt;
define Multiplier / sum "" format=dottozero.;&lt;BR /&gt;
define all_estpersons / sum "" format=8.;&lt;BR /&gt;
DEFINE SIZE / COMPUTED NOPRINT;&lt;BR /&gt;
define all / sum ""   format=dottozero.;&lt;BR /&gt;
DEFINE ALL1/ sum ""  noprint format=8.2;&lt;BR /&gt;
DEFINE ALL2/sum "" NOPRINT;&lt;BR /&gt;
DEFINE ALL3/mean "" noprint;&lt;BR /&gt;
define all_samper / n "" ;&lt;BR /&gt;
define macrovar / computed noprint;&lt;BR /&gt;
define macrompcecal / computed noprint;&lt;BR /&gt;
break after cnt1/summarize;&lt;BR /&gt;
break after cnt/summarize;  &lt;BR /&gt;
break after cnt2/summarize;&lt;BR /&gt;
break after cnt_ms/summarize;&lt;BR /&gt;
COMPUTE SIZE;&lt;BR /&gt;
_C8_ = _C8_ /&amp;amp;a5 *1000;&lt;BR /&gt;
_C10_ = _C10_ /&amp;amp;a4 *1000;&lt;BR /&gt;
_C12_ = _C12_ /&amp;amp;a2 *1000;&lt;BR /&gt;
_C14_ = _C14_ /&amp;amp;a3*1000;&lt;BR /&gt;
_C16_ = _C16_ /&amp;amp;a1*1000;&lt;BR /&gt;
all_estpersons=all_estpersons/100;&lt;BR /&gt;
ALL=ALL/&amp;amp;ALL2*1000;&lt;BR /&gt;
ENDCOMP;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt_ms;&lt;BR /&gt;
Land_Gp_Desc1='total';&lt;BR /&gt;
_C8_ = _C8_;&lt;BR /&gt;
_C10_ = _C10_;&lt;BR /&gt;
_C12_ = _C12_;&lt;BR /&gt;
_C14_ = _C14_;&lt;BR /&gt;
_C16_ = _C16_;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt2;&lt;BR /&gt;
Land_Gp_Desc1='per 1000 dist. of hhs.';&lt;BR /&gt;
_C8_ = &amp;amp;a5/&amp;amp;all2*1000;&lt;BR /&gt;
_C10_ = &amp;amp;a4/&amp;amp;all2*1000;&lt;BR /&gt;
_C12_ = &amp;amp;a2/&amp;amp;all2*1000;&lt;BR /&gt;
_C14_ = &amp;amp;a3/&amp;amp;all2*1000;&lt;BR /&gt;
_C16_ = &amp;amp;a1/&amp;amp;all2*1000;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt;&lt;BR /&gt;
Land_Gp_Desc1='average land possessed (hectare 0.00)';&lt;BR /&gt;
_C8_ = &amp;amp;a5/&amp;amp;s5;&lt;BR /&gt;
_C10_ = &amp;amp;a4/&amp;amp;s4;&lt;BR /&gt;
_C12_ = &amp;amp;a2/&amp;amp;s2;&lt;BR /&gt;
_C14_ = &amp;amp;a3/&amp;amp;s3;&lt;BR /&gt;
_C16_ = put(&amp;amp;a1/&amp;amp;s1,8.2);&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
compute after cnt1;&lt;BR /&gt;
Land_Gp_Desc1='estd. hhs.(00)';&lt;BR /&gt;
_C8_ = &amp;amp;a5/100;&lt;BR /&gt;
_C10_ = &amp;amp;a4/100;&lt;BR /&gt;
_C12_ = &amp;amp;a2/100;&lt;BR /&gt;
_C14_ =&amp;amp;a3 /100;&lt;BR /&gt;
_C16_ = &amp;amp;a1/100;&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
&lt;BR /&gt;
compute after;&lt;BR /&gt;
Land_Gp_Desc1='sample hhs';&lt;BR /&gt;
_c8_=&amp;amp;s5;&lt;BR /&gt;
_c10_=&amp;amp;s4;&lt;BR /&gt;
_c12_=&amp;amp;s2;&lt;BR /&gt;
_c14_=&amp;amp;s3;&lt;BR /&gt;
_c16_=&amp;amp;s1;&lt;BR /&gt;
all=SUM(_C8_,_C10_,_C12_,_C14_,_C16_);&lt;BR /&gt;
all3=.;&lt;BR /&gt;
all_estpersons=.;&lt;BR /&gt;
all_samper=.;&lt;BR /&gt;
endcomp;&lt;BR /&gt;
rbreak after / summarize ;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
end of code.&lt;BR /&gt;
&lt;BR /&gt;
so tell me some solution to do these.</description>
      <pubDate>Wed, 23 Jan 2008 05:29:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6486#M2074</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-01-23T05:29:14Z</dc:date>
    </item>
    <item>
      <title>Re: problems applying format on subtotals through proc report</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6487#M2075</link>
      <description>Hi:&lt;BR /&gt;
  Formats can be applied for a break line using a CALL DEFINE statement, as shown in the following program. &lt;BR /&gt;
&lt;BR /&gt;
When you run PROC REPORT with BREAK and RBREAK statements, PROC REPORT creates an internal variable named _BREAK_ that contains a value which tells you whether the current line was generated by a BREAK or RBREAK statement. If the line is based on break statement, then the value of _BREAK_ is the name of the group variable; if the line is based on an RBREAK statement, then the value of _BREAK_ is _RBREAK_; if the report line does not come from a BREAK or RBREAK statement being executed, then the value of _BREAK_ is blank.&lt;BR /&gt;
&lt;BR /&gt;
For more help on CALL DEFINE or the use of _BREAK_ or _RBREAK_, consult the PROC REPORT documentation or possibly contact Tech Support for more help.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia&lt;BR /&gt;
[pre]&lt;BR /&gt;
ods listing close;&lt;BR /&gt;
      &lt;BR /&gt;
data shoes;&lt;BR /&gt;
  set sashelp.shoes;&lt;BR /&gt;
  brk1 = 1;&lt;BR /&gt;
  brk2 = 2;&lt;BR /&gt;
run;&lt;BR /&gt;
      &lt;BR /&gt;
ods html file='c:\temp\call_def_format.html' style=sasweb;&lt;BR /&gt;
proc report data=shoes nowd;&lt;BR /&gt;
  where region in ('Asia', 'Canada') and&lt;BR /&gt;
  product contains ('Dress');&lt;BR /&gt;
  column brk1 brk2 product region,(sales sales=sl_n);&lt;BR /&gt;
  ** set brk1 and brk2 to NOPRINT after you understand;&lt;BR /&gt;
  ** how they are used to change the format;&lt;BR /&gt;
  define brk1 / group '_c1_';&lt;BR /&gt;
  define brk2 / group '_c2_';&lt;BR /&gt;
  define product /group '_c3_';&lt;BR /&gt;
  define region / across 'Region/_c4_, _c5_, _c6_, _c7_';&lt;BR /&gt;
  define sales/sum f=dollar15.; &lt;BR /&gt;
  define sl_n/n f=comma15. 'N';&lt;BR /&gt;
  break after brk1 / summarize;&lt;BR /&gt;
  break after brk2 / summarize;&lt;BR /&gt;
  rbreak after / summarize;&lt;BR /&gt;
  compute sl_n;&lt;BR /&gt;
    if upcase(_break_) = 'BRK1' then do;&lt;BR /&gt;
      call define('_c4_', 'format', 'dollar15.2');&lt;BR /&gt;
      call define('_c5_', 'format', 'comma15.2');&lt;BR /&gt;
      call define('_c6_', 'format', 'dollar15.2');&lt;BR /&gt;
      call define('_c7_', 'format', 'comma15.2');&lt;BR /&gt;
    end;&lt;BR /&gt;
    else if upcase(_break_) = 'BRK2' then do;&lt;BR /&gt;
      call define('_c4_', 'format', 'dollar15.3');&lt;BR /&gt;
      call define('_c5_', 'format', 'comma15.4');&lt;BR /&gt;
      call define('_c6_', 'format', 'dollar15.3');&lt;BR /&gt;
      call define('_c7_', 'format', 'comma15.4');&lt;BR /&gt;
    end;&lt;BR /&gt;
    else if _break_ = '_RBREAK_' then do;&lt;BR /&gt;
      call define('_c4_', 'format', 'dollar15.1');&lt;BR /&gt;
      call define('_c5_', 'format', 'comma15.1');&lt;BR /&gt;
      call define('_c6_', 'format', 'dollar15.1');&lt;BR /&gt;
      call define('_c7_', 'format', 'comma15.1');&lt;BR /&gt;
    end;&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
  compute after brk2;&lt;BR /&gt;
    product = 'brk2';&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
  compute after brk1;&lt;BR /&gt;
    product = 'brk1';&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
  compute after;&lt;BR /&gt;
    product = '_RBREAK_';&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
run;&lt;BR /&gt;
ods html close;&lt;BR /&gt;
[/pre]</description>
      <pubDate>Wed, 23 Jan 2008 07:00:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6487#M2075</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2008-01-23T07:00:05Z</dc:date>
    </item>
    <item>
      <title>Re: problems applying format on subtotals through proc report</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6488#M2076</link>
      <description>thanks.</description>
      <pubDate>Wed, 23 Jan 2008 08:36:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/problems-applying-format-on-subtotals-through-proc-report/m-p/6488#M2076</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-01-23T08:36:05Z</dc:date>
    </item>
  </channel>
</rss>

