楼主: 920240553
9509 7

[实际应用] 请教:SAS输出rtf中页眉页脚的设置问题 [推广有奖]

  • 0关注
  • 1粉丝

SAS问鼎

已卖:61份资源

博士生

86%

还不是VIP/贵宾

-

威望
0
论坛币
1764 个
通用积分
4.2602
学术水平
9 点
热心指数
12 点
信用等级
3 点
经验
4853 点
帖子
129
精华
0
在线时间
419 小时
注册时间
2013-11-30
最后登录
2025-6-27

楼主
920240553 发表于 2017-6-26 15:46:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题:下图是SAS  ODS 输出的rtf文件(页眉),以前输出很正常(一行),现在输出变成了两行,不知道咋调整,请教高手。

1498462675(1).png

在SAS中使用Template过程定义了style,以前用32位系统使用没有问题,现在使用64位系统出现了以上的问题,请教如何修改Template。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:RTF Template plate Style 64位系统

唯SAS之鼎也!

沙发
孤单的我们 发表于 2017-6-26 16:39:33
请贴出你的代码

藤椅
920240553 发表于 2017-6-27 09:29:28
孤单的我们 发表于 2017-6-26 16:39
请贴出你的代码
  1. %macro RTftemp1(_headingFont="宋体",_docFont="宋体",_TitleFont="宋体",
  2.                                 _textfont="宋体",_textsize=9.1pt,/*字体字号的设置*/
  3.                 _bottommargin=15mm,_topmargin=10mm,
  4.                                 _rightmargin=15mm,_leftmargin=20mm,/* 页边距的设置 */
  5.                                 rules=group,frame=hsides /* 表格边框的设置 */
  6.                                 );

  7. Options NoDate NoCenter NoNumber NoMPrint NoMLogic NoSource NONOTES NOSOURCE2;
  8. /*============================================================================*/
  9. ODS PATH work.templat(update) sasuser.templat(update) sashelp.tmplmst(read);

  10. proc template;
  11.                 define style styles.SAR_Style;
  12.                 parent =
  13. /*                                styles.default;*/
  14.                                 styles.sasdocprinter;
  15.                                 %*styles.statdoc;
  16.                    replace fonts /
  17.                       'TitleFont' = (&_TitleFont.,9.1pt, ROMAN)
  18.                           'TitleFont2' = (&_TitleFont.,9.1pt, ROMAN)
  19.                       'headingFont' = (&_headingFont.,10pt, BOLD ROMAN)
  20.                       'docFont' = (&_docFont.,10pt)
  21.                       'footFont' = (&_TitleFont.,9.1pt)
  22.                            'StrongFont' = ("ITC Bookman, Times Roman",10pt,Bold)
  23.                       'EmphasisFont' = ("ITC Bookman, Times Roman",10pt,Italic)
  24.                       'FixedEmphasisFont' = ("Courier",9pt,Italic)
  25.                       'FixedStrongFont' = ("Courier",9pt,Bold)
  26.                       'FixedHeadingFont' = ("Courier",9pt,Bold)
  27.                       'BatchFixedFont' = ("SAS Monospace, Courier",7pt)
  28.                       'FixedFont' = ("Courier",9pt)
  29.                       'headingEmphasisFont' = ("ITC Bookman, Times Roman",10pt,Bold Italic)
  30.                           ;
  31.                 **表格;
  32.                 replace table from output /
  33.                    frame       = &frame  
  34.                    rules       = &rules
  35.                    borderwidth = 3
  36.                    vjust       = middle
  37.                    outputwidth = 100%
  38.                    protectspecialchars = off
  39.                     ;
  40.                 **主体文件;
  41.                 replace body from document /
  42.                   bottommargin = &_bottommargin.
  43.                   topmargin = &_topmargin.
  44.                   rightmargin = &_rightmargin.
  45.                   leftmargin = &_leftmargin.
  46.                 ;
  47.                 **text;
  48.                 replace usertext from Note/  
  49.                   font_face=&_textfont.
  50.                   just=l  
  51.                   font_size=&_textsize.  
  52.                   vjust=middle;

  53.                 style SysTitleAndFooterContainer from Container
  54.                       "Controls container for system page title and system page footer." /
  55.                       rules = NONE
  56.                       frame =  
  57.                                         below  
  58. /*                                         void*/
  59.                       vjust=BOTTOM
  60.                           OUTPUTHEIGHT=1
  61.                       outputwidth = 100%
  62.                       cellpadding = 0
  63.                       cellspacing = 0
  64.                       borderwidth = 1;

  65.                 end;

  66. run;
  67. %exit:
  68. %mend RTftemp1;
复制代码

板凳
孤单的我们 发表于 2017-6-27 09:54:07
可否提供下图中页眉输出的相关代码,因为不太清楚你的参数写法

报纸
920240553 发表于 2017-6-27 10:13:16
孤单的我们 发表于 2017-6-27 09:54
可否提供下图中页眉输出的相关代码,因为不太清楚你的参数写法
  1. ODS RTF file="&OutPath.&Reportname..RTF" author="&_author."
  2.         title="&docunmenttitle."
  3.         style=styles.SAR_Style
  4.     wordstyle="{\s1 Heading 1;}"

  5. sectiondata="\sbknone";

  6. ods escapechar = '~';

  7. %* 3. Set page header and page footer ;
  8. %** 3.1 页眉 -------------------------------------------------------;
  9. %** 3.1.1 第一行:项目名称和统计分析报告;
  10. title j=l "&projectname." j=r "&reportfor.";

  11. %** 3.1.2 第二行:厂家名称和页码;
  12. title2 j=l "&sponsor." j=r
  13.         "{&LocalVar1. \field {\*\fldinst PAGE \\*MERGEFORMAT}}
  14. {&LocalVar2.\field {\*\fldinst NUMPAGES  \\*MERGEFORMAT} &LocalVar3.}";

  15. %** 3.2 页脚 --------------------------------------------------------;
  16. %if &reportdate.= %then %do;
  17.     data _null_;
  18.            call symput("reportdate",left(put("&sysdate"d,&RptDateFormat.)));
  19.     run;
  20. %end;
  21. footnote j=l "&LocalVar4.&reportdate." j=c "&version. " j=r "&statdpt.";

  22. %** 4. Execute programs for TFLs  ;
  23. %include "&PgmPath.&pgmname.";

  24. %** 5. End ;
  25. ODS RTF Close;
复制代码

地板
孤单的我们 发表于 2017-6-27 12:49:07
title j=l "&projectname." j=r "&reportfor.";
这种写法似乎并不能实现一个左对齐,一个右对齐。而是对于每一个j= 输出一行
在rtf/word里的对齐方式是对整行都生效的。

这个问题我之前也没有很好的解决,只能退而求其次,在2个文本之间插入若干空格后左对齐。使其看起来似乎是两端对齐。
空格的数量需要根据页码的长度进行调整。

期待更厉害的坛友提出完美的解决方案。

7
920240553 发表于 2017-6-27 14:41:40
孤单的我们 发表于 2017-6-27 12:49
title j=l "&projectname." j=r "&reportfor.";
这种写法似乎并不能实现一个左对齐,一个右对齐。而是对于 ...
非常感谢,采用空格的方法是非常规的方法,后续看看有没有坛友能够解决这个问题,谢谢!

8
ZJJ19 发表于 2023-5-30 10:22:33
我双行页眉是这样写的,你试下
title1 j=l "&gtitle1" j=c  j=r "&gtitle2";
title2 j=l "&gtitle3 "  j=r "&gtitle4";

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-17 15:44