March 31, 2009 at 11:49 am #2529
SAS output is attempting to draw lines around blocks of output (for example from Pro Means) and these lines are appearing in ME2008 as a series of black boxes (making a line) but these are printing out as as what looks a series of "f’s" (fffffffffffffffffffffffffffff) or, possibly an italicized "f’s". How do I configure ME2008 to print these as lines?
ThanksMarch 31, 2009 at 3:43 pm #8435
I’ve looked into the problem with the lines not being drawn in the out file. The characters used (hex 84, 83, 87, 89, etc) do not match characters in the ansi font base, that is why they show up as special symbols in MeLS, we looked into a SAS setting that will use some other method to make the lines in the output. This is what we found:
defines the characters to use for constructing the table outlines and dividers.
identifies the position of one or more characters in the SAS formatting-character string. A space or a comma separates the positions.
Default: Omitting position(s) is the same as specifying all 20 possible SAS formatting characters, in order.
Range: PROC TABULATE uses 11 of the 20 formatting characters that SAS provides. Formatting Characters Used by PROC TABULATE shows the formatting characters that PROC TABULATE uses. Formatting Characters in PROC TABULATE Output illustrates the use of each formatting character in the output from PROC TABULATE.
lists the characters to use for the specified positions. PROC TABULATE assigns characters in formatting-character(s) to position(s), in the order that they are listed. For example, the following option assigns the asterisk (*) to the third formatting character, the pound sign (#) to the seventh character, and does not alter the remaining characters:
Interaction: The SAS system option FORMCHAR= specifies the default formatting characters. The system option defines the entire string of formatting characters. The FORMCHAR= option in a procedure can redefine selected characters.
Restriction: The FORMCHAR= option affects only the traditional SAS monospace output destination.
Tip: You can use any character in formatting-characters, including hexadecimal characters. If you use hexadecimal characters, then you must put x after the closing quotation mark. For example, the following option assigns the hexadecimal character 2D to the third formatting character, assigns the hexadecimal character 7C to the seventh character, and does not alter the remaining characters:
Tip: Specifying all blanks for formatting-character(s) produces tables with no outlines or dividers.
formchar (1,2,3,4,5,6,7,8,9,10,11) =’ ‘ (11 blanks)
See also: For more information about formatting output, see Chapter 5, "Controlling the Table’s Appearance," in the SAS Guide to TABULATE Processing.
For information about which hexadecimal codes to use for which characters, consult the documentation for your hardware.
Formatting Characters Used by PROC TABULATE
Position Default Used to draw
1 | the right and left borders and the vertical separators between columns
2 – the top and bottom borders and the horizontal separators between rows
3 – the top character in the left border
4 – the top character in a line of characters that separate columns
5 – the top character in the right border
6 | the leftmost character in a row of horizontal separators
7 + the intersection of a column of vertical characters and a row of horizontal characters
8 | the rightmost character in a row of horizontal separators
9 – the bottom character in the left border
10 – the bottom character in a line of characters that separate columns
11 – the bottom character in the right border
Hope that helps.April 1, 2009 at 10:26 am #8436
Clay, you mentioned the SAS monospace font so I assigned this as the printer font in ME2008 from File, Print Setup, Fonts. Now the lines print correctly. ThanksJanuary 7, 2011 at 5:09 pm #9000
Well its always difficult to print these lines involving blocks from SAS.
Finding it most difficult section.
Well it may work fine by applying new and latest settings that would work for it.
You must be logged in to reply to this topic.