如何使用SAS在RTF文件显示特殊字符

通常来讲,注释语句有四种:
1、* message;
2、COMMENT message;
3、/* message */
4、%* message;
第一种的主要限制是注释之中不得有“;”符号。通常用于非宏程序之中。
第二种和第一种相同。
第三种的主要限制是不得包含另外的注在用SAS做临床试验相关的listing, table的过程中,我们可能会遇到在列表或表格中显示上标、下标、大于等于号等特殊符号的情况。下面介绍在SAS中如何编程使rtf文件显示特殊字符。
方法1:使用~{super }, ~{sub}显示上、下标
data a;
  length var1 $100.;
  var1="a~{super 2}+b~{super 2}=c~{super 2}";
  output;
  var1="This is something that needs a footnote.~{super 1}";
  output;
  var1 = "the carbon dioxide molecule is CO~{sub 2}";
  output;
run;
ods listing close;
ods rtf;
title "特殊字符";
proc report data=a;
  column var1;
  define var1/"上标和下表例子";
run;
ods rtf close;
ods listing;


方法2:使用unicode
步骤1:在电脑上搜索字符映射表(character map),查到对应特殊字符的unicode

从上图我们可以看到,小于等于号的unicode为2264
步骤2:在sas中使用unicode
data le;
  length var1 $100.;
  var1="~{unicode 2264}10";
  run;
run;
ods listing close;
ods rtf;
proc report data=le;
  column var1;
  define var1 /"Demo of unicode" style(column)=[cellwidth=20%];
run;
ods trf close;
图片语句。
第四种用于在宏程序里做注释,其功能和第一种在非宏的文本里很相似。第三种注释对宏和非宏程序并无区分。如果把第一种方式移植到宏程序里,出错误的机率非常大。举一例:
%macro comments;
  *%do i=1;
%mend;
%comments;

方式1和2属于完整的SAS声明语句。他们在程序编译时总被TOKENIZER和MACRO FACILITY处理;因此无法含有“;”及非对称的引号。在宏编译时它们被作为文本常量存储,因此在注释里的宏声明语句将被执行。比如说以上%DO命令将被执行。因此,SAS建议最好不要在宏程序里使用1和2类的注释语句。
与此相反,第3类注释语句不被TOKENIZED(标记化),而只是作为字符串处理。这一类的语句并没有在编译的宏程序里储存。

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:如何使用SAS在RTF文件显示特殊字符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值