㈠ SAS怎么建立数据库,我要详细的程序
data word;
libname aa 'd:\sas';
run;
如果你D盘里有sas这个文件夹
那么你就建立了一个叫aa的数据库到这个文件夹里
㈡ Lesson 1 数据集的建立
程序的基本组成
1 数据步
2 过程步
1 在SAS直接输入
注意事项
2 引用外部数据
文件--导入数据
SAS中的变量只有两种类型:字符型(character)和数值型(numeric)。
日期是被看作是数值型,所有日期型变量被作为是输入日期与1960年1月1日之差。如1980-1-1, SAS会认为这个值是7305。
不同类型的变量在input语句输入时需要指定相应的格式
包括数值与日期
如果你想让SAS有选择地读取你的数值,可以在变量后加上w.d的格式。其中,w表示数值的位数(包括小数点),如2.3的位数是3;d表示数值的小数点位数。
输入格式是给SAS读的,输出是给使用者读的。
见上述。使用 input 或 input搭配informat 。不想改变输入值,不要在输入格式中定义宽度。
大致同输入格式。在data步,在input语句与cards之间使用 format 。
完整的格式应该是$ < w. >。
必须在变量名后加"$";w表示字节数(1个中文占2个字节)。
结果为:
w.d 的理解:
comma w.d 可将数值的整数部分自右向左每三位用逗号隔开,当数值位数较多时,这是比较标准的表示方式。
例如,输出格式为 comma7.1 时。
日期有两种类型:数字、日期格式。
日期型变量输入格式与输出格式大致相同,但 输出格式允许 在宽度值前加一个字母,表示日期的分隔符号。 但不能用于date7.或date9.等格式。
日期格式
分隔符号
invalue 输入看“ 原值 ”
value 输出看“ 新值 ”
结果为:
说明一下,"09.99%"的理解是:
所得结果为:
原因是 指定宽度后,空格也成为字符的一部分 。修改方式如下:
缺失值用 “ . ”表示。
结果为
用do循环输入数据
其中的语句若使用input,则必须加上output。
例如1-12月是连续加1的规律。
未使用do循环时:
由于count具有加1的规律,使用do循环后:
用@符号
产生新变量前,对其进行宽度限定,使用length
无length语句:
有length语句:
SAS数据都是存放在资源管理器的逻辑库中。逻辑库中有SAS自带的6个文件夹,用来存放不同类型的数据。
理论上,我们在用data语句起名字时,还需要告诉SAS建立的数据集是放在哪个文件夹里。如,data sasuser.fh;表示建立数据集fh,放在sasuser这个文件夹,再如data work.fh;表示建立数据集fh,放在work这个文件夹。
SAS默认,如果data语句中没有加文件夹名字,就是 默认为存放到临时文件夹work 中,也就是说,data fh;与data work.fh;是完全等同的。当关闭sas时work内的数据集将清空。
相当于把建立的数据集存放到硬盘的一个文件夹中。具体主要包括三个步骤:
方式一:菜单中新建
[1]在本地硬盘建立一个文件夹作为数据集存放处(假设路径为g盘目录下的mysasfile文件夹)
[2]逻辑库处右键新建新库并命名(假设是mydir),路径浏览选择上述文件夹
[3]编辑器处添加数据集
方式二:编辑器中新建,并与逻辑库关联
[1]同上
[2]编辑器中新建新库,并添加数据集
方式三:编辑器中新建
调用硬盘上的SAS数据集
[1]首先要知道硬盘上的文件夹位置及名称
[2]]利用libname语句读取相应位置的文件夹中的文件