BookmarkSubscribeRSS Feed
JohenPan
Calcite | Level 5

为什么逃逸符在 proc report pretext 和 posttext 选项中无效。^n是换行符,并且已经定义了^是逃逸符,但是posttext无法换行

proc report data=simplze_&Group. nowindows missing headskip headline split="#" 
    style(report) = [just = center font=("times new roman",9pt) color=black
                     posttext = "^n制表人"
                     PROTECTSPECIALCHARS = on]
	style(header)=[just=center font=("times new roman",9pt) color=black background=#f0f0f0]
	style(column)=[font=("times new roman",9pt)];
	column Order DrugID Period Drug_Name Manufacturer;
	define Order /display style(column)=[just=center cellwidth=10%] flow;
	define DrugID /display style(column)=[just=center cellwidth=14% font_weight=bold] flow;
	define Period /display style(column)=[just=center cellwidth=12%] flow;
	define Drug_Name /display style(column)=[just=center cellwidth=30%] flow;
	define Manufacturer /display style(column)=[just=center cellwidth=20%] flow;
run;

3 REPLIES 3
whymath
Lapis Lazuli | Level 10
在其它编程语言中,^n 可能表示换行,但 SAS 中并没有这个用法。

要在 proc report 的表头进行文字换行,可以使用“第一行splitchar第二行”的形式,其中,splitchar 由 split= 选项规定。

要在 proc report 的 pretext 或 posttext 中换行,一般有指定的输出对象,以 ODS RTF 为例,使用 \line 或 \par 均可表示换行。如果输出对象为 HTML,使用</br>可以表示换行。
JohenPan
Calcite | Level 5

非常感谢您的回复。是的,我是输出为RTF,使用\line可以实现换行。

 

目前困惑的点在于为何事先声明了ods escapchar = "^" ,并且protectespecialchar = off关闭,在posttext中无法解析^n为换行符。

JohenPan
Calcite | Level 5

补充一点,即在posttext 无法解析逃逸字符

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Discussion stats
  • 3 replies
  • 987 views
  • 0 likes
  • 2 in conversation