<?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: Specifying decimal places for numeric variables in proc report? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788698#M252227</link>
    <description>&lt;P&gt;Please consider what you write for descriptions. This bit is contradictory.&lt;/P&gt;
&lt;PRE&gt;I have three character variables (percent, lower CL, upper CL) that I pulled from a Crosstab table. &lt;BR /&gt;They are numeric (length = 8, format = 7.4), &lt;/PRE&gt;
&lt;P&gt;A character variable cannot have a format of 7.4. Your code shows that you have three numeric variables that you use to create TWO character variables, Percent and Confidence,&amp;nbsp; which are the ones displayed in Proc Report.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second do you know what "implied decimal" refers to when used with an Informat?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Row_Percent=input(RowPercent, 4.1);&lt;/PRE&gt;
&lt;P&gt;may not be doing what you think it does for some values. Example:&lt;/P&gt;
&lt;P&gt;This code demonstrates some possibly unexpected by you behaviors:&lt;/P&gt;
&lt;PRE&gt;data example;
  input RowPercent 4.1;
datalines;
1
12
123
1234
123.4
12.34
;

proc print data=example;
run;
&lt;/PRE&gt;
&lt;P&gt;Which yields this result:&lt;/P&gt;
&lt;P&gt;Row Obs Percent 1 0.1 2 1.2 3 12.3 4 123.4 5 123.0 6 12.3 When you use an informat such as 4.1 and there is no decimal in the value then you are forcing a decimal into the result.&lt;/P&gt;
&lt;P&gt;When the number of characters exceeds 4, observation 5 reading 123.4, then things are truncated to the 4 characters.&lt;/P&gt;
&lt;P&gt;Almost certainly you need to use a simple input with 4. or possibly larger field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If part of your purpose is to align things "nicely" then you better make sure you are using a Fixed width font in the columns as there is no promise that a created text character will display aligned with a proportional font. See below:&lt;/P&gt;
&lt;P&gt;1111111111&lt;/P&gt;
&lt;P&gt;0000000000&lt;/P&gt;
&lt;P&gt;Ten ones and ten zeroes, take up different amounts of space in the default proportional font that is likely displaying this window.&lt;/P&gt;
&lt;P&gt;With &lt;STRONG&gt;numeric&lt;/STRONG&gt; value you can use one of the format like Dw.p or BestDw.p which will attempt to align values by decimal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 06 Jan 2022 17:21:48 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2022-01-06T17:21:48Z</dc:date>
    <item>
      <title>Specifying decimal places for numeric variables in proc report?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788674#M252207</link>
      <description>&lt;P&gt;I have three character variables (percent, lower CL, upper CL) that I pulled from a Crosstab table. They are numeric (length = 8, format = 7.4), and when I print out the table, it gives values that have (as expected) 4 decimal places.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm trying to change that to &lt;U&gt;1 decimal place&lt;/U&gt;,&amp;nbsp;&lt;STRONG&gt;retaining any trailing zeros&lt;/STRONG&gt; so when I run a&amp;nbsp;&lt;EM&gt;proc report&lt;/EM&gt;, all the values are visually even with each other &amp;amp; easier to read.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've tried a variety of approaches that aren't quite working; I have found something (even if it doesn't make sense...) that gets&amp;nbsp;&lt;EM&gt;close&lt;/EM&gt; to what I want using the code below; the code iterates through a list of variables I previously defined so I don't have to run the code for each variable one at a time. It then concatenates and formats the values for the proc report, printing it out to a Word document.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ODS HTML;
%macro dothisb;
	** WORD output, once everything is printed;
		ods rtf file="\PATHWAY\Report_Tables..rtf" 
			startpage=no noKEEPN; 
			options nodate nonumber orientation=portrait; 
		TITLE;	
	    %do i=1 %to %sysfunc(countw(&amp;amp;crossnames));
	         %let thisname=%scan(&amp;amp;crossnames,&amp;amp;i,%str( ));

			** Create Simplified crosstabs from earlier proc surveyfreq;
				Data year2_&amp;amp;thisname;
				Set year_&amp;amp;thisname;
					DROP Table intended F_: WgtFreq Percent LowerCL UpperCL _SkipLine;
	
					/* CHAR --&amp;gt; NUMERIC */
						Row_Percent=input(RowPercent, 4.1);
						Lower_CL=input(RowLowerCL, 4.1);
						Upper_CL=input(RowUpperCL, 4.1);	
				Run; 

			** Format Simplified tables-- Concatenate % and 95% CLs;
				Data year3_&amp;amp;thisname;
				Set year2_&amp;amp;thisname;	

					/* Percent formatting */
						Percent=(Row_Percent||"% ");
					/* Confidence Interval Formatting */
						Confidence=("("||Lower_CL||"-"||Upper_CL||")");&lt;BR /&gt;
					DROP RowLowerCL RowUpperCL ;
					Label Percent="%";
					Label Confidence="95% CL";
					Label combined="% (95% CL)";
				Run;

			** PROC REPORT;
				Proc report data=year3_&amp;amp;thisname out=report_&amp;amp;thisname 
					nowd
					 STYLE(report) = [rules=none frame=hsides background=white cellspacing=0 cellpadding=.05] 
					 STYLE(header) = [foreground=black background=white	cellheight=.40in 
							borderbottomwidth=2.0pt borderbottomcolor=black
							bordertopwidth=.5pt bordertopcolor=white
							borderleftwidth=.5pt borderleftcolor=white
							borderrightwidth=.5pt borderrightcolor=white]
					;

					Column &amp;amp;thisname YY4_DOB,(Percent Confidence) dummyvar;

						Define	&amp;amp;thisname / order=internal group 
								style(column) = {vjust=top just=left
									borderleftcolor=white borderleftwidth=.5pt
									borderrightcolor=white borderrightwidth=.5pt paddingright=.05in};

						Define yy4_DOB / "Year" across
								style(column) = {vjust=top just=Middle
									borderleftcolor=white borderleftwidth=.5pt
									borderrightcolor=white borderrightwidth=.5pt paddingleft=.05in};

						Define Percent / display 
								style(column) = {cellheight=.40in cellwidth=0.55in
									vjust=top just=left
									borderleftcolor=white borderleftwidth=.5pt
									borderrightcolor=white borderrightwidth=.5pt paddingright=.05in};

						Define Confidence / display
								style(column) = {cellheight=.40in cellwidth=0.75in
									vjust=top just=middle
									borderleftcolor=white borderleftwidth=.5pt
									borderrightcolor=black borderrightwidth=.5pt paddingleft=.05in};

						Define dummyvar / computed noprint ;
						 compute dummyvar;
						 dummyvar = 1;
						 endcomp;
				Run;
		%end;
	ODS rtf CLOSE;
	%mend;
%dothisb


*Invoke;
%dothisb&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;However, I have some problems. The original values look like this:&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;Year&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;dpinsur&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;RowPercent&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;RowLowerCL&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;RowUpperCL&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2016&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1.7935&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.2168&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;3.3702&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2016&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Private&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;58.3730&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;53.3669&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;63.3792&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2016&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Public&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;39.8334&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;34.8675&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;44.7994&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2017&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1.8858&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.4645&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;3.3071&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2017&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Private&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;59.7053&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;55.0038&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;64.4067&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2017&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Public&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;38.4089&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;33.7411&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;43.0767&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2018&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.2916&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.0000&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.6793&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2018&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Private&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;65.5822&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;60.9709&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;70.1935&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2018&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Public&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;34.1263&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;29.5189&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;38.7336&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2019&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1.4170&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.0000&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;2.9249&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2019&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Private&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;53.5578&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;47.5044&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;59.6111&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2019&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Public&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;45.0252&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;38.9781&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;51.0723&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2020&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;None&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.6038&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;0.0000&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;1.3675&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2020&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Private&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;61.9009&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;56.0220&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;67.7798&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;2020&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Public&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;37.4953&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;31.6267&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;43.3639&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And my proc report sometimes gives values like this, where some values are not being rounded correctly or the zeros from the 95% Confidence limits are not being carried over like I want.&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="30px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="10" width="600.994px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;Year&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="30px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="2" width="120px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;2016&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="2" width="120px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;2017&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="2" width="120px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;2018&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="2" width="120px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;2019&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD colspan="2" width="120.994px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;2020&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="57px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;&amp;nbsp;Insurance Status&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;%&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;95% CL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;%&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;95% CL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;%&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;95% CL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;%&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;95% CL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;%&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70.9943px" height="57px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;95% CL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="30px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;None&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;1.79%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(0.21-3.37)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;1.88%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7" color="#FF0000"&gt;( 0- 3.3)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;0.29%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;( .-0.67)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;1.41%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;( .-2.92)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;0.6%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70.9943px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;( .-1.36)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="30px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;Private&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;58.3%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(53.3-63.3)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;59.7%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(55-64)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;65.5%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(60-70.1)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;53.5%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(47.5-59.6)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;61%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70.9943px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(56-67.7)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="65.9943px" height="30px"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;Public&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;39.8%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(34.8-44.7)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;38.4%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(33.7-43)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;34.1%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(29.5-38.7)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;45%&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(38-51)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="50px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;37.4%&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="70.9943px" height="30px" class="lia-align-center"&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"&gt;(31.6-43.3)&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Like I've said, I've tried a variety of ways to work around this, but haven't found one that gets it totally right. Any help would be greatly appreciated; I've been tinkering with this for hours.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jan 2022 15:46:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788674#M252207</guid>
      <dc:creator>SAS93</dc:creator>
      <dc:date>2022-01-06T15:46:45Z</dc:date>
    </item>
    <item>
      <title>Re: Specifying decimal places for numeric variables in proc report?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788679#M252212</link>
      <description>&lt;P&gt;Since you haven't provided any example data, I can't test this, but I think the problem is here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data year3_&amp;amp;thisname;
				Set year2_&amp;amp;thisname;	

					/* Percent formatting */
						Percent=(Row_Percent||"% ");
					/* Confidence Interval Formatting */
						Confidence=("("||Lower_CL||"-"||Upper_CL||")");
					DROP RowLowerCL RowUpperCL ;
					Label Percent="%";
					Label Confidence="95% CL";
					Label combined="% (95% CL)";
				Run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;where you could format things as in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Confidence=("("||put(Lower_CL,4.1)||"-"||put(Upper_CL,4.1)||")");&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I would also suggest that instead of creating these character strings for PROC REPORT, you use Lower_CL as a numeric variable and just to the right of it in your PROC REPORT, you have Upper_CL as a numeric variable. By using numeric variables here instead of character strings, I think things work out more cleanly and now you don't have to convert numeric to character. In fact, by working with numeric values, you can then use the STYLE= option in PROC REPORT to globally set the format so that the number of decimal places is one (or whatever else you want it to be).&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jan 2022 16:19:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788679#M252212</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-01-06T16:19:03Z</dc:date>
    </item>
    <item>
      <title>Re: Specifying decimal places for numeric variables in proc report?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788698#M252227</link>
      <description>&lt;P&gt;Please consider what you write for descriptions. This bit is contradictory.&lt;/P&gt;
&lt;PRE&gt;I have three character variables (percent, lower CL, upper CL) that I pulled from a Crosstab table. &lt;BR /&gt;They are numeric (length = 8, format = 7.4), &lt;/PRE&gt;
&lt;P&gt;A character variable cannot have a format of 7.4. Your code shows that you have three numeric variables that you use to create TWO character variables, Percent and Confidence,&amp;nbsp; which are the ones displayed in Proc Report.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Second do you know what "implied decimal" refers to when used with an Informat?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Row_Percent=input(RowPercent, 4.1);&lt;/PRE&gt;
&lt;P&gt;may not be doing what you think it does for some values. Example:&lt;/P&gt;
&lt;P&gt;This code demonstrates some possibly unexpected by you behaviors:&lt;/P&gt;
&lt;PRE&gt;data example;
  input RowPercent 4.1;
datalines;
1
12
123
1234
123.4
12.34
;

proc print data=example;
run;
&lt;/PRE&gt;
&lt;P&gt;Which yields this result:&lt;/P&gt;
&lt;P&gt;Row Obs Percent 1 0.1 2 1.2 3 12.3 4 123.4 5 123.0 6 12.3 When you use an informat such as 4.1 and there is no decimal in the value then you are forcing a decimal into the result.&lt;/P&gt;
&lt;P&gt;When the number of characters exceeds 4, observation 5 reading 123.4, then things are truncated to the 4 characters.&lt;/P&gt;
&lt;P&gt;Almost certainly you need to use a simple input with 4. or possibly larger field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If part of your purpose is to align things "nicely" then you better make sure you are using a Fixed width font in the columns as there is no promise that a created text character will display aligned with a proportional font. See below:&lt;/P&gt;
&lt;P&gt;1111111111&lt;/P&gt;
&lt;P&gt;0000000000&lt;/P&gt;
&lt;P&gt;Ten ones and ten zeroes, take up different amounts of space in the default proportional font that is likely displaying this window.&lt;/P&gt;
&lt;P&gt;With &lt;STRONG&gt;numeric&lt;/STRONG&gt; value you can use one of the format like Dw.p or BestDw.p which will attempt to align values by decimal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jan 2022 17:21:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Specifying-decimal-places-for-numeric-variables-in-proc-report/m-p/788698#M252227</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-01-06T17:21:48Z</dc:date>
    </item>
  </channel>
</rss>

