登录
首页精彩阅读利用SAS程序生成系统颜色名称与代码表
利用SAS程序生成系统颜色名称与代码表
2017-04-01
收藏

利用SAS程序生成系统颜色名称与代码表

SAS日常报表制作过程中,经常会面临如何选择适当的颜色名称或对应代码来美化报表和增强报表的可读性。今天,我们介绍如何利用SAS程序来生成SAS系统颜色名称与十六进制颜色代码对应表,供我们在制图、网页制作或RTF输出时快速有效的进行颜色选择,同时通过此一简单示例帮助大家理解如何充分利用SAS现有功能模块来实现某一特定功能编程目的。

首先,需要提取SAS系统自带颜色名称与对应代码注册信息,我们可以通过过程步PROC REGISTRY来实现此一目的。PROC REGISTRY过程步功能和选项很多,这里只示例如何提取已注册颜色名称与代码相关信息,有关其它更多选项与设置可参考联机帮助文件。

上述代码中我们首先通过FILENAME语句定义了一外部文件及对应引用名称CLRNAME,供下面结果输出保存用;其次通过过程步PROC REGISTRY中选项LIST 和 USESASHELP来将选定注册信息内容进行列表输出;EXPORT选项则用来是将上述列表输出内容同时保存到指定的外部文件;选项STARTAT用来限定输出范围,这里我们通过系统变量值COLORNAMES来实现只对系统颜色名称与对应代码进行列表输出。

最终输出文件格式为:

上述输出文件包含了SAS系统颜色名称与代码信息(此处代码为十六进制颜色格式,SAS支持多种其它颜色格式,可参考SAS帮助文件以了解更多信息),现在我们需要将其重新读入SAS,并进行一定的处理与格式化、生成格式文件、及最后报表用数据集等。关键步骤包括如何利用INFILE语句读取上述输出文件及利用PROC FORMAT来生成格式CLRNAME供后面报表输出时引用。另外,为了更好的进行的颜色对比与选择,衍生了几个额外变量WHITE、BLACK、RED、YELLOW与BLUE。相关示例代码如下:

最后通过报表过程步PROC REPORT,利用ODS RTF来生成SAS颜色名称代码对应表:

附:SAS颜色名称代码对应表

背景色:列RGB对应十六进制代码 (例如行1,背景色黑色,系统颜色名称为Black、对应的十六进制颜色代码为CX000000,依此类推)

前景色:依次为WHITE、BLACK、RED、YELLOW、BLUE


数据分析咨询请扫描二维码

客服在线
立即咨询