【SAS Says】基础篇:1. SAS软件入门

本系列【基础篇】已经完全完结了,方便大家阅读学习,我们合并在成一个专辑,目录如下:

1. SAS软件入门

2. 读取数据

3. 描述数据

4. ODS的使用

5. 开发数据(一)

6. 开发数据(二)

7. SAS宏初步

8. 相关、回归等基本统计


前言·数说君的话

在统计软件里,SAS算是一哥了,虽然R免费开源有各种统计函数、python功能多各方面比较平衡,但是、但是——SAS贵啊!正版的SAS一年要上百万,不是土豪用不起啊!

大家可以在前程无忧上分别搜索一下SAS、R和Python,对比一下,招SAS的公司都是大型药厂、外企、金融机构特别是银行...相比之下,R在学术界用的较多,Python在初创或者创新公司用的比较多。从这里看钱途,SAS是足以称为“高大上”的!

其实,凭良心地、以数说君自己的感受来说,SAS做统计分析确实是太方便了!SAS的做统计分析最权威可靠、处理海量数据非常快,它的各种模块如Base模块提供了丰富的数据管理功能(还支持SQL语言对数据进行操作!)、STATA模块覆盖了所有实用的统计分析方法、QC模块提供全面质量管理的工具、IML模块提供强大的矩阵运算编程语言、OR模块提供全面的运筹学方法......

SAS公司的一位市场总结Anee Milley曾经回应SAS与R之争时这样说道:

We have customers who build engines for aircraft. I am happy they are not using freeware when I get on a jet. 我们有一些客户,为整机制造引擎。当我乘机时,很高兴他们没有使用免费软件(来设计引擎)。

作为学习者,这种极端的观点咱们听听就行,下面一段话引自“Think SAS”这篇文章,数说君觉得很有道理:

一门编程语言,只要能实现分支(if . . . then . . .)和循环(for/while/do . . . loops),就能够完成几乎所有的运算。这样说来,单问SAS是不是比R强大,或者R是不是比SAS强大就是一个意义不大的问题。它们都能较好地完成大多数的任务,强不强大的区别,在于背后的用户。一些更好的问题或许是,比如,它们的某些模块相比起来如何,它们的扩展性相比如何、它们的运算效率相比如何等等。个人认为,最好的问题是,在我现在如此这般的情况下,哪一款软件最适合我?

因为要写SAS,所以说了几句SAS的好话,最后还是要建议大家,关注数说君(微信公众号:数说工作室,或者微信号:shushuojun),学好SAS、学好Python、学好R、学好Matlab !

本系列叫《SAS Says》,将从零基础开始,带大家进入SAS的世界中,大致分为基础篇、进阶篇和高级篇,基础篇中用的是SAS的经典入门教材——《the little SAS book》,收录的是本人的中文笔记,老手也可以复习一下一些基本的知识(英文原文也非常的易懂,感兴趣可以直接看原文)。

首先进入【1. SAS软件入门】,来认识一下SAS软件吧!


【SAS Says】基础篇:1. SAS软件入门

1.1 SAS语言

1.2 SAS数据集

1.3 SAS程序的两个过程

1.4 数据步的内置循环

1.5 选择一个提交程序的方式

1.6 SAS视窗环境中的视窗和命令

1.7 在SAS视窗环境中提交程序

1.8 阅读SAS日志

1.9 输出窗口中浏览结果

1.10 创建HTML输出

1.11 SAS数据的逻辑库

1.12 用SAS资源管理器访问SAS数据集

1.13 使用SAS系统选项


1.1 SAS语言

许多软件要么是菜单驱动,要么是命令驱动(输入命令——看结果)。SAS两者都不是,在SAS中,你用一个叫做SAS程序的一系列指令语句。

SAS程序 一个SAS程序就是一个按顺序执行的语句序列,一个语句给SAS下达信息和指令,且必须要正确的安放。一个常用来与SAS程序做类比的例子是去银行取款,你进入银行、排队、轮到你,那么你会对柜台谁你想做的事,叙述语句可能会是这样:

I would like to make a withdrawal.

My account number is 0937.

I would like$200.

Give me five 20s and two 50s.

注意第一句话说了你想做的事情,之后把相关信息传递给柜台并帮你完成要求。这里信息传递的顺序不重要,重要的是在你的叙述中,首先要说明你要做什么。你不能先说:“Give me five 20s and two 50s.”这会使柜台小姐一头雾水。此外,你必须确保后面的语句都围绕第一句展开。

SAS语句 像任何语言一样,SAS语句的编写也需要遵守一些语法规则。幸运的是,相比英语来说,SAS语句的规则不仅少,而且简单。最重要的规则是:

每一个SAS语句都由一个分号结尾

听起来很简单,但即使最富有经验的SAS程序员也会偶然忘记分号。如果你能记住这个规则,再来看看另外两个规则吧。

SAS程序布局 让每一条语句看起来整洁、用缩进来表现语句的各个部分,这是很有用的,但不是必须的:

  • SAS语句不区分大小写。
  • 一条语句可以持续到第二行(只要不把一个单词分开)。
  • 几条语句可以用一行。
  • 可以在任何一列中开始一条语句

注释 可以在你的程序中插入一些注释,让它更容易明白。即使你插入一些你喜欢的食物品名也不会对程序有所影响,因为SAS不读取注释。但不要忘记注释是为了让某人更轻松的学习你的程序,并明白你为什么这么做。

*Read animals’weights from file;

DATAanimals;

INFILE’c:\MyRawData\Zoo.dat’;

INPUTLions Tigers;

PROCPRINT DATA=animals; /*Print the results*/

RUN;

有两种注释方法,一种是*号和;号;一种是用/* */表示,注意第二种注释方法不能放在第一列。

错误 SAS程序通常将执行的错误标注为醒目的红色字母,你可能忘了分号,拼错了字母,按错了键盘,一个小错误会使得整个程序无法运行。当你看到红色部分多余黑色部分的时候,不要灰心。

1.2 SAS数据集

在你进行分析、撰写报告、对你的数据进行任何处理之前,SAS必须能够处理你的数据,你的数据必须是一种叫SAS数据集的特殊形式。

变量和观测值 在传统的SAS术语中,数据包括变量和观测值。采用相关的数据库的术语,SAS数据集也被叫做表、观测值也被叫做行、变量也被叫做列,你可以看到下面这个包含一些数据的表。

数据类型 未加工的数据有多种形式,但SAS将其简单化。在SAS中只有两种数据类型——数值型和字符型。数值型完全是数据,可以被加减乘除、可以是正负且是小数。字符变量是除数值之外的类型,可以是数值、字母、和一些特殊的字符(¥、!),最多可以占用32767个字节长度。

在上面这个表中,姓名是字符变量,身高和体重是数值变量,ID,既可能是数值有可能是字符,依据你的选择。

缺失值 数据有时会有些不完美,某些变量的个别观测值会缺失。字符变量的缺失值用空格表示,数值变量的缺失值用句号(.)表示。上表中,体重的第五个观测值缺失,用.表示。姓名的第六个观测值缺失,用空格表示。

SAS数据集的大小 在SAS 9.1之前,SAS数据集可以包含32767个变量,从SAS 9.1开始,SAS可包含的最多变量数由你的电脑可用资源决定(内存,CUP?)。但是超过32767个变量的SAS数据集不能用在早期的SAS版本上。

SAS命名规则 为你的变量和数据集命名,使它们容易被辨别。A,B,C这样的名字可能看起来很完美,写程序的时候也很方便,但当你6个月后再使用这些数据时,你会发现name,height,weight这样的名字更有用。为变量和数据集命名时要遵守如下规则:

  • 名字的长度要小于等于32个字节。
  • 以字母或下划线开头。
  • 可以包含字母、数字、或者是下划线,不能是%$!*&#@。
  • 可以是小写或大写字母,且不区分大小写。

SAS数据集储存的文件 SAS数据集包含了一些类似名称、创建日期、创建用的SAS版本等信息。SAS也储存了每个变量的信息,包括名称、类型、长度、数据集中的位置。这些信息叫做数据集的描述部分,它使得数据集可以自我编制(self-documenting)。

1.3 SAS程序的两个过程

SAS程序有两个基本模块:数据步和过程步。一个典型的SAS程序,由数据步创建SAS数据集开始,再由过程步分析数据。这里有一个例子:数据步中将米转化成千米,过程步中输出结果

数据步和过程步由语句组成(废话),一个过程少至1条语句、多至几百条。新手常犯的错误是将两种过程语句用混,只要记住数据步负责读取、修改数据,过程步负责分析数据、输出报告和效用函数,就不会犯错。

数据步由DATA语句开始:data+数据名。上例中数据步处理了名为distance的数据。为了读取外部数据、未加工的数据,数据步提供了DO LOOPS,IF-THEN/ELSE,以及一些数值和字符函数。数据步也可以按照你想要的方式合并数据集,包括联接(concatenation)和合并(match-merge)。

过程步由proc语句开始:proc+过程名(print、sort、means…),SAS过程步可以处理从数据储存、输出到方差分析、3D图表的一切操作。

当程序遭遇DATA\PROC等标志着新程序开始的语句时,之前的程序结束。如果运行的是批处理,则run代表语句的结束。Run告诉SAS去执行所有之前的程序行,上图的那个程序,当proc出现时,代表data过程结束。

典型的程序是以DATA语句开头,输入或修改数据,然后将数据传递给PROC语句。但并不一定非要用这种模式来混合data和proc语句,你可以用任何顺序来排列data和proc两者的顺序,一个程序甚至可以仅有data语句或proc语句。

下表是data语句和proc语句的一些基本不同点:

这只是一个简化表,SAS软件非常灵活,所以data语句和proc语句之间真正的区别也是很模糊的。记住,这个表并不是说proc语句永远不能创建SAS数据集,或者DATA语句永远不能够分析生成报告。

1.4 数据步的内置循环

Data步读取并修改数据,让你以灵活的方式控制处理数据。Data步也有一个潜在的、内置的循环语句。你不用告诉SAS去执行这个循环,SAS会自动执行。

数据步按照一行一行、一个观测值一个观测值的顺序执行

这句话的表意并不明确,许多新手直到成了老手都没明白这句话的含义。

数据步“一行一行的执行”,这句话很好理解。但很多新手还是容易在这里出错,例如在没有创建一个变量之前就使用它,如果Z变量是X、Y两个变量组合的新变量,那么必须确定创建Z变量的语句在创建X、Y变量语句之后。

而“一个观测值一个观测值的执行”就不是那么容易理解。这意味着SAS先读取一个观测值,然后对这个观测值进行数据步的所有语句(当然也是一行一行的),然后再读取第二个观测值执行。每次执行SAS只有一个观测值。

我们将SAS执行的图景放慢:SAS从你的数据集中读取一个观测值。SAS对你的这个观测值执行数据步,如果数据步一直运行到结束而没有错误,SAS会把当前的观测值写入一个新的、输出数据集中,并返回到数据步开头,读取第二个观测值进行执行。当最后一个观测值都被写入输出数据集中之后,SAS结束数据步,进入下一个步。

有一个类比,数据步就像是一个投票程序。当你来到投票的地点,你会站在别人后面进行排队,排到你时,你会被问到:你叫什么名字,住在哪里。当你回答之后,你可以投票。在这里,排队的人就像是观测值,投票的程序就像是数据步。一次只能让一个人投票,每个人都相互独立。并且投票的程序是一步一步来的,你不能没说明自己的姓名和住址之前就投票。

1.5 选择一个提交程序的方式

目前为止我们讨论了写SAS程序,但仅仅写不能带给你任何结果,你必须要提交并执行。有数种方法可以执行SAS程序,但不是任何方法都适合于你的操作环境。查找一下SAS帮助文档,或者咨询下你的SAS顾问,看看哪种方法适合你的操作环境。

SAS视窗环境

如果你使用SAS是按照系统提示,或者是点击SAS的图标,那么你适合使用SAS视窗环境。在这种交互式的环境中,你可以写入、编辑SAS程序,提交处理、浏览、输出结果的SAS程序。此外,视窗有许多功能可以处理不同的任务,如管理SAS文件、定制界面、访问SAS帮助文档、导入和导出数据。你的视窗环境的界面取决于你电脑的的类型、使用的终端、电脑操作系统和启动SAS时实际的选择。如果你使用的是个人电脑,那么SAS视窗环境的感觉和其他软件类似。

SAS企业向导

如果你有SAS企业向导软件,这个软件在windows下即可运行。你可以用这个软件提交程序:使用插入菜单打开代码窗口,输入序或打开现有SAS程。之后你可以用本地电脑、或者在远程服务器上(需要安装)运行SAS程序。

非交互式模式

非交互式模式是SAS程序语句已先存于你系统的文件中,直接执行那个文件。非交互式模式可以让SAS立即执行程序,通过某个指令开始($),后接文件名,如:

$ SAS Myfile.sas

批处理或后台模式

在批处理或后台模式下,你的程序存于一个文件中,SAS会自动执行,你不需要在电脑旁,如果程序多,SAS会将这个程序进行排队等待。这种模式通常用在大型电脑中,因此通常可以一次性处理多个任务。批处理或后台模式的成本比较低,适合于大型工作,工作完成后,结果会存于文件夹中,你可以任何时候输出查看。批处理未必适合你的操作环境,另外提交方式也会有不同,最好查看SAS帮助文档,或咨询SAS顾问。

远程提交

如果你安装了CONNECT模块,可以进行远程提交,即在一台电脑上(本地)编写程序,在另一台电脑上(远程)处理,结果会返回本地电脑。当你处理大型任务,而你的电脑性能又不够时,可以连接到远程的高性能电脑上,也可访问远程电脑的分享文件。

交互行模式

交互行模式下,SAS每次提示用户输入一个语句,想改正输入的语句不是那么容易的。因此除非你足够优秀和熟练,否则最好不要用这个模式。你可以用endsas并回车来退出这个模式:

End sas;

如果你想知道为什么会进入这个模式,并且在以后避免进入,你需要咨询SAS顾问。

1.6 SAS视窗环境中的视窗和命令

SAS视窗

SAS有五种基本的视窗(窗口):结果视窗、资源管理器视窗、和三种程序视窗:程序编辑、日志、输出。除此之外,在获得SAS帮助、改变SAS系统选项、定制SAS人机会话等情况时,可能还会用到其他的视窗,下图显示了Microsoft Windows SAS会话中默认的视图:

编辑窗口 编辑窗口中你可以输入、编辑、提交SAS程序。Windows操作环境默认的是增强型编辑窗口,它对语法更敏感,并用颜色标注程序,使得更容易理解和发现错误。其他操作环境默认的是程序编辑窗口,并随操作环境和SAS版本的不同,界面特征也不同。

日志窗口 日志窗口是关于SAS会话的说明。在提交SAS程序之后,任何的说明、错误、警告和程序语句都会显示在日志窗口上。

输出窗口 如果程序产生需输出的结果,那么会反映在在输出窗口中。

结果窗口 结果窗口就像输出窗口的一个目录表,以提纲形式列出了输出的每一个部分。

SAS命令

SAS命令是为了不同的任务,你有三种方式发出命令:菜单、工具栏、SAS命令栏,如下图:

菜单 (大部分操作环境都会有一个下拉菜单要么在窗口上方要么在屏幕上方…..oh my god!略)

工具栏(不是所有的操作环境都有工具栏…略!)

SAS命令栏 可以在这里输入SAS命令,一些操作环境中,命令栏坐落在工具栏中,另一些操作环境中,每个SAS窗口都有一个命令行(command line),通过语句command=>激活。大部分命令是可以直接用菜单进行选择的。

控制你的视窗你可以通过菜单、命令栏、点击的方式激活任何一种程序窗口

1.7 在SAS视窗环境中提交程序

将你的程序放入编辑窗口中 你可以通过输入,或者打开现有程序文件的方式将程序放入编辑窗口中。打开现有的程序文件,可以通过菜单-打开,也可以通过工具栏的图表,或者直接将文件拖放到编辑窗口中。

提交你的程序 你有几种方式来提交程序:

使用工具栏的提交图表

激活命令栏,输入submit命令回车。

从run运行的下拉菜单中选择submit提交

上图显示了如何在windows视窗中提交增强型编辑窗口的程序。

访问SAS日志和输出 提交程序后,日志窗口和输出窗口会有相应的日志和结果显示,如果你使用的是增强型编辑窗口,之前的程序会保留,如果使用的是程序编辑窗口,之前的程序不会保留。如果你的程序产生了输出,那么结果窗口会显示这些输出的目录,下图是一个例子,显示了提交程序之后,增强型编辑窗口、日志窗口、结果窗口、输出窗口的样式。

取回你的程序 如果不幸你的程序出现了问题,你需要再次运行,对于程序编辑窗口,由于之前的程序不在保留,因此需要调回命令(recall),有两种方法:

命令窗口中输入recall

激活编辑窗口,从运行(run)下拉菜单中选择

如果不停的使用recall命令,SAS可以一直往前调回程序,知道所有提交的程序都被调回。

1.8 阅读SAS日志

在哪找到SAS日志 SAS日志窗口的位置随着你使用的操作环境、选择的模式(视窗、非交互、批处理)、个人的设置的不同而不同。在视窗模式下,提交程序之后,日志窗口默认的位置如下图:

对于批处理和非交互模式的日志则会被写入一个文件中,你需要使用操作环境的命令来查看,一般日志文件的名字与对应的SAS程序名一直,如你的SAS程序命为abc.sas,那么日志文件的命则为abc.log

日志包含的内容日志中虽然有很多琐碎,但也包含了重要的信息。这里有一个将英里转换为千米的程序:

*Create a SAS data set named distance;

*Convert miles to kilometers;

DATA distance;

Miles=26.22;

Kilometers=1.61*Miles;

*Print the results;

PROC PRINT DATA=distance;

RUN;

运行之后,SAS的日志窗口会产生一个类似这样的日志:

① 说明了你使用的SAS版本和site。

② 是原始的SAS程序语句

③ 说明了数据步为你创建的数据集名称,观测值数和变量数。它可以帮助你确认你的程序没有丢失观测值,也没有创建你不需要的变量。

④ 这部分显示了数据步和过程步占用的电脑资源。当你使用的是多用户系统,或者处理大型数据而使得SAS运行占用大量时间时,这部分信息可以帮助你检查哪一步比较耗时。

如果SAS程序出现错误,错误信息也会反馈在日志窗口中,说明哪里出错及出错表现。

1.9 输出窗口中浏览结果

你使用的模式不同,产看输出结果的方法也会不同。如果是在视窗模式下提交SAS程序,那么直接在输出窗口查看,如果是批处理和非交互模式下,那么结果就会保存在一个文件里,需要用命令查看。比如使用UNIX系统下的非交互模式,结果会存在一个后缀为.lst的文件里,使用cat或其他更多命令来查看。

输出窗口 提交程序后,结果会出现在输出窗口中,下图是一个输出窗口的例子

打印或保存输出窗口的目录 激活输出窗口的目录,在菜单栏文件(file)下拉菜单中选择打印(print)或保存(save)即可。

结果窗口 结果窗口起到输出窗口的目录作用,当你的输出结果非常多时,结果窗口很有用。它可以让你很清楚的看到输出结果的每一部分。下图是一个方差分析(ANOVA)过程的结果。在这个图中,左边是输出结果的目录,点击+号将其展开,可以看见ANOVA结果的各个部分,双击某一部分,则该部分结果就会位于输出窗口顶部。

打印或保存部分输出 如果要打印结果窗口中显示的某一部分的输出,则需将鼠标移到该部分上,右击,选择打印或保存即可。或者点击一下,使其黑亮,再从菜单栏文件(file)的下拉菜单中选择输出或保存。

1.10 创建HTML输出

如果使用的是SAS视窗环境,那么可以为结果创建超文本标记语言(HTML)格式。

参数选择窗口 选择菜单栏中工具(tools)下拉菜单的选项(options)-参数选择(preferences)。选择结果(result)选项卡,如下图所示:

这个参数选择窗口上,有一个“创建列表(create listing)”选项,默认的输出就是列表输出。下面还有“创建HTML”选项,用来创建HTML。样式(style)选项用来为HTML选择一个风格样式。选择之后,点击OK。

结果浏览窗口和结果窗口 (注意下面提到的三种窗口:结果浏览窗口result viewer,结果窗口resultswindow,输出窗口output window)

一旦选择了HTML输出,每次运行程序的时候都会自动出现一个结果浏览窗口(result viewer),下图显示了在运行了一个均值和输出的程序后,出现两个窗口:结果浏览窗口——显示HTML输出,结果窗口——显示输出的目录。

结果浏览窗口一次只显示输出结果的一个部分,通过选择结果窗口的目录,可以查看其他的部分。值得注意的是,结果窗口给出的目录中,每一个部分都给出了两种相同的目录,一个是链接到输出窗口,一个是链接到结果浏览窗口

保存结果浏览窗口的输出(output of result viewer)的方法:激活结果浏览窗口,选择菜单栏文件(file)下拉菜单的保存(save as)、输出(print)。

可以在style中为输出选择不同的风格,如下图就是D3D的风格:

1.11 SAS数据的逻辑库

SAS逻辑库库只是数据集文件存放的地点。打开SAS视窗模式后,会看到SAS资源管理器窗口(explore),双击逻辑库图标,资源管理器窗口会显示出所有已定义的图标。要返回前一级窗口,选择查看(view)-向上一级(up one level),或者在工具栏中直接点击向上一级图标逻辑库窗口 打开逻辑库窗口后,除了自己创建的库外,至少会呈现三个逻辑库:sashelp,sasuser,和work,如果安装了某些SAS模块,还有一些特别的逻辑库,比如SAS/GRAPH模块的Maps逻辑库。Sashelp包含了控制SAS会话以及样本数据集的一些信息。WORK是sas数据集的临时储存地点,创建的数据集如果没有指定库,则默认储存在这里,关闭程序时则自动删除数据集。也可以更改默认的库,从而不是临时库。

创建新逻辑库 创建新逻辑库有两种方法:在逻辑库窗口中选择文件(file)下拉菜单的新建(new);或者直接右键——新建。

在新建逻辑库(new library)窗口中,为你的逻辑库起一个名字,这里叫做Mylib,指定库的存放路径。如果不想每次启动SAS都要调用这个库,则勾选启动时启用(enable at startup)即可。

这是一个新建的Mylib逻辑库的视图。

1.12 用SAS资源管理器访问SAS数据集

可以利用SAS资源管理器打开数据集、浏览、编辑,也可以列出数据集的信息,如创建时间和变量名。

目录窗口 打开一个逻辑库,进入一个目录窗口,显示这个库中所有的文件和文件夹。右图的目录窗口中显示Mylib逻辑库有三个文件:Customers,Models,orders。双击某文件,则可以打开这个文件的可视视图。

可视视图 这个窗口允许你创建、浏览、编辑数据集。

列出SAS数据集的属性 用资源管理器还可以列出SAS数据集的一些属性情况,右击某文件,选择下拉菜单的属性(properties)

属性窗口显示了SAS数据集的属性信息,如创建时间、行列数等。

如果选择列(columns)选项卡,则出现数据的列信息

1.13 使用SAS系统选项

SAS系统选项是影响SAS运行的一些参数,比如输出的显示、内存的占用、错误的处理等问题。这些小问题由SAS为你设定好,你也可以改变它。

SAS系统选项的参数不是所有都适合你的操作环境,适合于你的再SAS的帮助文档中给出。可以通过打开SAS系统选项窗口或使用option程序来查看你的SAS系统参数。Option程序的语句如下:

Proc options;

Run;

有四种方法可以指定系统选项的参数,SAS帮助文档会告诉你哪种适合你的操作系统:

1. 系统管理员会创建一个包含了系统选项设定的配置文件,每次SAS启动时都会访问这个文件。

2. 在启动SAS之后,根据系统提示指定系统选项。

3. 如果使用SAS视窗环境,可以从SAS系统选项中改变已选择的选项。

4. 使用OPTIONS语句。

这四种方法按照优先性排列,方法2优先于方法1,方法3优先于方法2,方法4优先于3。如果使用SAS视窗环境,方法3,4最好。

OPTIONS语句 OPTIONS语句是SAS程序的一部分,并可影响之后的所有语句。由OPTIONS关键词开头,后面是相关选项。比如:

OPTIONS LINESIZE=80 NODATE;

OPTIONS语句既不属于数据步也不属于过程步,这个全局变量可以出现在程序的任何部分,但放在开头最有意义,你可以很容易看到哪些选项在发挥作用。如果OPTIONS语句只出现在数据步或者过程步中,那么它会影响那个过程,和下面的过程(If the OPTIONS statement is in a DATA or PROC step,then it affectsthat stepand the following steps.)。注意,后面的OPTIONS语句会覆盖前面的,即以后面的OPTIONS为主。

SAS系统选项窗口 通过这个窗口也可以改变系统选项。可以通过在命令栏中输入“OPTIONS”,或从工具(tools)下拉菜单中选择.

窗口出来后,找到要修改的部分,右击——修改值(modifythe value)即可。

一般选项 下面是一些可能用到的一般系统选项

CENTER|NOCENTER

输出是否居中,还是左对齐。默认居中

DATE|NODATE

今天的日期是否出现在输出的顶部。默认输出

LINESEZE=n

控制输出行的最大长度,n可能的值为64到256

NUMBER|NONUMBER

输出的页面页码是否需要。默认需要。

ORIENTATION=PORTRAIT;ORIENTATION=LANDSCAPE;

指定打印输出的方向。默认竖向(portrait)

PAGENO=n

输出页开始的页面。默认为1

PAGESIZE=n

每个页面输出的最大行数。可能的值为15到32767

RIGHTMARGIN=nLEFTMARGIN=nTOPMARGIN=nBOTTOMMARGIN=n

指定打印输出的边缘大小。默认0.00英寸(Specifies size of margin(such as 0.75in or 50px)to be used for printing output.Default:0.00in.)

YEARCUTOFF=yyyy

设定起始年份

本文分享自微信公众号 - 数说工作室(shushuojun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数说工作室

【SAS Says】基础篇:5. 开发数据(一)

本节目录: 开发数据 5.1 创建并重新定义变量 5.2 使用SAS函数 5.3 使用IF-THEN语句 5.4 用IF-THEN语句将观测值分组 5.5 构造...

33540
来自专栏数说工作室

【SAS Says】基础篇:描述性分析(下)

好吧,这一节是留给处女座的,主要说如何用proc tabulate和proc report产生一个更加耐看的报告。有时候print、means和freq产生的报...

84050
来自专栏数说工作室

【SAS Says】基础篇:复制、堆叠、合并数据

特别说明:本节【SAS Says】基础篇:复制、堆叠、合并数据,用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好...

1.6K50
来自专栏数说工作室

【SAS Says】基础篇:SAS软件入门(下)

特别说明:本节【SAS Says】基础篇:SAS软件入门(下),用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好...

43340
来自专栏数说工作室

【SAS Says】基础篇:SAS软件入门(上)

前言·数说君的话 在统计软件里,SAS算是一哥了,虽然R免费开源有各种统计函数、python功能多各方面比较平衡,但是、但是——SAS贵啊!正版的SAS一年要...

43770
来自专栏数说工作室

【SAS Says】基础篇:读取数据(上)

特别说明:本节【SAS Says】基础篇:读取数据(上),用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好选择。...

55570
来自专栏数说工作室

【SAS Says】基础篇:ODS的使用(上)

你不可能总是在SAS上查看结果,如果结果很多你要一一的讲结果复制到word中去,有ODS就好啦!它可以把SAS的结果直接输出到word、PDF等文件中。 5.1...

1.2K60
来自专栏数说工作室

【SAS Says】基础篇:读取数据(下)

特别说明:本节【SAS Says】基础篇:读取数据(下),用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好选择。...

61160
来自专栏量子位

语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab

王小新 编译自 Qure.ai Blog 量子位 出品 | 公众号 QbitAI 图像语义分割就是机器自动从图像中分割出对象区域,并识别其中的内容。 ? 量子位...

70990
来自专栏数说工作室

【SAS Says】基础篇:读取数据(中)

特别说明:本节【SAS Says】基础篇:读取数据(上),用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好选择。...

42150

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励