SAS技能——认证备考
文章平均质量分 77
认证备考是学习的SAS基础知识
Miya_o00
所有走过的弯路,都是岁月馈赠的礼物
展开
-
SAS函数——日期函数
一、日期的合并将月、日、年合并为一个日期格式的变量或值。mdy(月,日,年);注意:月,日,年的顺序不能变。二、日期的差值 计算两个日期之间以年为单位的差值yrdif(开始日期,结束日期,"计算依据"); 计算两个日期之间以天为单位的差值datdif(开始日期,结束日期,"计算依据"); 计算依据: "actual" 按当年的实际天数计算,常用 yrdif(开始日期,结束日期,"actual"); datdif(开始日原创 2020-06-19 19:53:37 · 17450 阅读 · 0 评论 -
SAS函数——数值函数
一、计算中常用数值函数: 函数 用途 举例(设x=4.8,y=1.2) abs(x) 返回x的绝对值 abs(x)=4.8 exp(x) 返回x的指数值 exp(x)=121.51 log(x) 返回x的自然对数 log(x)=1.57 sqr.原创 2020-06-19 14:58:48 · 3218 阅读 · 0 评论 -
SAS函数——字符函数
一、计算变量的长度基本格式:length(变量):对缺失值返回1。 lengthn(变量):对缺失值返回0。注意:长度不包括尾部空。 数值型长度默认为12。data iden; input iden $; length_1=length(iden); length_2=lengthn(iden);cards;abcdabcd123abcd_123.;proc print;run;二、提取变量中的字符指定一个变量,对该变量从起始位置.原创 2020-06-19 14:50:31 · 11338 阅读 · 0 评论 -
SAS中数据类型转换函数以及自动转换规则
自动转换是指系统产生一个临时的变量来完成赋值或运算。在此过程中会因转换不完全而导致数据错误。所以在实际应用中需要避免自动转换。注意:需要了解自动转换规则,但是在实际应用中是要尽量避免自动转换的。字符型变量:var_str数值型变量:var_num一、字符型变量→数值型变量赋值:var_num=var_str; 参与算数运算:var_num=var_str+1; 与数值型变量比较大小:if (var_str>var_num) then ...; 在函数中,参数要求是数值型变量:原创 2020-06-08 14:04:33 · 6178 阅读 · 0 评论 -
PROC SQL(八)——视图
一、视图1、功能视图是一系列的查询语句,在使用时被执行,用来从其他的数据集或视图中获取想要的子集(subset)或者超集(superset)。只包含访问数据的逻辑,而不包含数据本身。2、优点1、与数据集相比,更节省空间2、减少重复的查询语句3、想用户隐藏复杂的查询关系4、动态获取最新数据3、注意1、避免在视图定义中使用ORDER BY子句,在引用视图的查询中指定ORDER BY子句更有效。2、如果同样的data要用很多次,那么最好不要创建视图而是直接创建静态表原创 2020-07-05 19:11:15 · 502 阅读 · 0 评论 -
PROC SQL(七)——SET操作符(EXCEPT)
一、SET操作符功能:可以使用SET操作符组合两个或多个查询的结果。SET操作符有以下4个:EXCEPT、INTERSECT、UNION、OUTER UNION语法:一、只有一个set操作符:PROC SQL;SELECT column-1<, ... column-n> FROM table-1 | view-1<, ... table-n | view-n> <optional query clauses> set-oper原创 2020-07-05 14:10:40 · 1732 阅读 · 0 评论 -
PEOC SQL(六)——外联接
一、自然连接功能:自动从每个表中选择列来匹配行PROC SQL标识每个表中具有相同名称和类型的列,并使用这些列作为连接条件语法:SELECT column-1<,...column-n> FROM table-1 | view-1 NATURAL JOIN table-2 | view-2 <other clauses>; quit;注意:1、不要在自然连接中使用ON子句2、在使用自然连接时,将隐含一个ON子句,匹配所有like列3、可以原创 2020-07-05 12:15:29 · 787 阅读 · 1 评论 -
PEOC SQL(五)——内联接
目录一、了解joins二、笛卡尔积三、PROC SQL按照以下步骤处理联接四、内联接1、功能:2、两种方法3、语法:4、举例:一、了解joins是一种查询,被联接的表不需要具有相同的行数或者列数。联接一般有两种类型:内联接——取两个表公共的部分 外联结二、笛卡尔积概念:处理任何类型的联接时,proc sql首先生成一个笛卡尔积,其中包含来自所有表中行,在一起的所有的可能的组合。生成一个笛卡尔积:如果在from语句中指定多个表,但没有where语句,原创 2020-07-05 10:31:11 · 664 阅读 · 0 评论 -
PROC SQL过程(四)——OPTION
目录控制执行选项SAS数据集选项验证查询语法1、NOEXEC:2、VALIDATE3、NOEXEC和VALIDATE两者的区别:option指定后,一直有效,除非更改或重置它控制执行选项1、INOBS=限制输入行的数量2、OUTOBS=限制输出行的数量3、PRINT | NOPRINT指定是否打印查询结果4、NUMBER | NONUMBER指定是否包括一列数字SAS数据集选项1、KEEP=指定保存的列名称2、DROP=指定要删除的列名称3、O原创 2020-07-04 19:33:02 · 1661 阅读 · 0 评论 -
PROC SQL过程(三)——WHERE和HAVING语句&子查询
目录WHERE语句与HAVING语句的区别:WHERE语句HAVING语句子查询WHERE语句与HAVING语句的区别:WHERE在SELECT之前执行 HAVING在SELECT和GROUP BY之后执行主要表现如下:HAVING在GROUP BY后使用,对GROUP BY的结果进行筛选。 HAVING在使用SELECT中新创建的变量时,不需要使用CALCULATED关键字。WHERE语句选项CALCULATED:由于where在select语句之前执行,当wh原创 2020-06-14 00:51:49 · 6002 阅读 · 0 评论 -
PROC SQL过程(二)——GROUP BY,ORDER BY语句
SELECT语句的常用语法:1、SELECT语句的子句必须按照如下顺序指定(详见代码段)SELECT column_1,column_2,...column_n FROM table_1,table_2,...table_n WHERE expression GROUP BY column_1,column_2,...column_n HAVING expression ORDER BY column_1,column_2,...column_n;2、显原创 2020-06-14 00:31:44 · 6248 阅读 · 0 评论 -
PROC SQL过程(一)——PROC SQL介绍,SELECT,FROM语句
SQL(Structured Query Language——结构化查询语言),是用于检索和更新数据的一种标准化语言PROC SQL是结构化查询的执行Data Processing SAS SQL file SAS data set table record observation row field variable column 使用...原创 2020-06-13 15:24:23 · 18116 阅读 · 0 评论 -
【直播笔记】在临床研究中,如何利用SAS做更好的统计报表输出
一、Proc report介绍 ODS样式是控制SAS输出表和图的整体外观,可以指定图形元素的颜色、字体、线条样式、符号标记和其他属性。 ODS样式有:ODS HTML、ODS PDF、ODS TRF等。 ODS RTF可以通过Proc print、Proc tabulate、Proc report定义输出,下面主要介绍Proc report过程。 Proc report可以定义SAS数据集中变量输出的格式,以及输出样式等。二、Pr...原创 2020-08-03 23:23:20 · 8685 阅读 · 5 评论 -
用PROC FCMP创建函数
使用数据步骤语法创建自定义函数语法:OPTIONS CMPLIB=libref.table | (libref.table-1...libref.table-n)PROC FCMP OUTLIB=libref.table.package; FUNCTION function-name(arguments <$>)<$><length>; . . . programming statements . . . RETURN(expression)原创 2020-07-13 23:57:28 · 2177 阅读 · 0 评论 -
output语句
在一个data步中,创建不同数据集 DATA data-set1 data-set2 data-set3; 在每一个data步的结尾都有一个暗含的 OUTPUT 语句,它告诉 SAS 处理下一个观测值前,把当前观测写入输出数据集中。 若自定义使用 OUTPUT 语句,默认的 OUTPUT 语句就不存在。 OUTPUT data-set-name;若省略数据集名,则将数据步中所有数据集都将被写入数据。 OUTPUT 语句可单独使用,也可与 IF-THEN 或 DO-LOOP 过程中。..原创 2020-06-20 13:32:13 · 1381 阅读 · 0 评论 -
累加选项
variable + 1等价于:retain varibale 0;vaiable=variable+1;变量必须是数值类型,初始值只能是 0。x+1;x+(-1); /*每次执行减少 1,不能写成 x-1*/ x+(y=z); /*若 y=z,返回 1,则 x 累加 1,否则不累加*/ 在实际中,一般使用 retain 语句代替累加语句。retain 语句的初始值可以是一个非零值。...原创 2020-06-20 13:33:46 · 208 阅读 · 0 评论 -
format与informat语句
输入格式:写入数据集的格式。------更改数据集中相应变量的格式属性输出格式:用于显示的格式。---------对数据集中相应变量的格式属性无影响format语句-----定义输出格式1、基本语法:format 变量1 格式1 变量2 格式2 ……;2、注意:该语句只改变数据的输出格式,并不影响该数据集中的格式。data fs; input x $ y $2.;//input语句中使用的格式 是输入格式 format x$2.; x1=x+1;...原创 2020-06-19 16:00:16 · 1113 阅读 · 0 评论 -
基本的比较运算符
符号 助记符 含义 = EQ 等于 ^=,~= NE 不等于 > GT 大于 < LT 小于 ≥ GE 大于等于 ≤ LE 小于等于原创 2020-06-18 16:10:11 · 219 阅读 · 0 评论 -
drop掉的变量,为什么还可以作为判断条件使用
DATA WORK.MALES WORK.FEMALES(DROP=age);DROP gender;INPUT name $ gender $ age;IF Gender="M" THEN OUTPUT WORK.MALES;ELSE IF Gender="F" THEN OUTPUT WORK.FEMALES;CARDS;Anna F 23Ben M 25Bob M 21Brian .原创 2020-06-17 22:51:58 · 359 阅读 · 0 评论 -
查找重复值和删除重复值,排序——PROC SORT 过程
基本格式:DATA = data-set 对哪个数据集进行排序OUT = data-set 把排序后的数据输出到指定数据集中,此时原数据依然保留。 如果不加该选项,排序后的数据集将覆盖原有数据集,这样就找不回原数据了PROC SORT <DATA = data-set> <OUT = data-set> <nouniquekey> <nodupkey>; BY ...原创 2020-06-17 23:09:56 · 9511 阅读 · 0 评论 -
数据合并——合并汇总统计量和原始数据
摘自《The Little SAS Book》生成原始数据集——shoes,并排序:DATA shoes; INPUT style $ 1-15 exercisetype $ sales; DATALINES;Max Flight running 1930Zip Fit Leather walking 2250Zoom Airborne running 4150Light Step walking 1130Max Step Woven walking 22.原创 2020-06-16 22:15:00 · 1196 阅读 · 0 评论 -
数据合并(横向)——MERGE语句
MERGE语句基本格式:DATA new-data-set; MERGE data-set-1 ... data-set-n; BY variable-list; <statement>RUN;注意事项:输入数据需要按照排序变量对数据进行排序 BY语句中的变量为排序变量 如果输入数据集中有相同变量(出列BY语句中的变量),则后面数据集的值会覆盖前面的相同变量 数据集的全部观测都被包含在最终数据集中,无论是否有匹配。一对多MERGE语句中的数据集原创 2020-06-16 21:55:45 · 3625 阅读 · 0 评论 -
数据合并(纵向)——SET语句
SET语句基本格式:DATA new-data-set; SET data-set-1 ... data-set-n; <statement>RUN;注意事项:SET语句每次从SAS数据集中读取一条观测,供DATA步处理。(MODIFY语句也能修改单个数据集) DATA语句和SAS语句可以使用相同数据集 新数据集中包含SET语句中输入数据集的所有变量,如果某个数据集的变量,在其他数据集中不存在,则其他数据集的观测对应变量为缺失值。 新数据集的观测数 = 输.原创 2020-06-16 15:24:02 · 2358 阅读 · 0 评论 -
SAS的三种输入样式&读取数据的特殊操作
SAS的三种输入样式一、列表输入读取以空格(至少一个)分开的原始数据。必须读取所有的数据记录,不能跳过某些值 任何缺失值必须用“.”符号标识。 字符串数据不能包含空格、长度不能超过8个字符。DATA toads; INPUT ToadName $ Weight Jump1 Jump2 Jump3; DATALINES; Lucky 2.3 1.9 . 3.0 Spot 4.6 2.5 3.1 .5 Tubs 7.1 . . 3.8 Hop原创 2020-06-11 23:34:24 · 5328 阅读 · 0 评论 -
DATA步中PDV(Program Data Vector)
SAS中DATA步运行包含两个阶段:编译阶段 运行阶段一、编译阶段检查语法错误 常见语法错误:关键字和变量拼写错误、标点符号缺失、选项无效等 创建Input butter缓冲区----->Raw data时才创建。 创建PDV 创建数据集的描述性部分Input butter缓冲区 :DATA中Input语句中从Raw Data中读取数据时,才会创建缓冲区;如果使用set语句读取SAS数据集时,则将数据直接复制到PDV中,而不创建缓冲区。二、执行阶段DATA步每执行一个原创 2020-06-11 22:22:17 · 1395 阅读 · 0 评论 -
SAS软件使用入门
一、SAS语言SAS语句:以SAS关键字开头 每一条语句都以分号结尾 不区分大小写 一条语句可以写成多行(不能拆分单词) 多条语句可以写在同一行。 可以从任意列开始。 注释:*注释内容; /*注释内容*/二、SAS数据集数据集内容:描述部分: 数据集:名称、创建时间、创建使用的SAS版本、观测数 变量:名称、标签、类型、长度、输入输出格式 数据部分: 行:观测 列:变量 值:以矩形表的形式排列 索引:该部分内容暂时不清楚....数据类型:两种: ..原创 2020-06-11 22:31:12 · 2975 阅读 · 0 评论 -
产生HTML输出 ODS系统
ODS:Output Delivery System 一种输出方式。不是proc过程一、常见功能将输出的结果直接传送到Word、Excel、PDF等之中。 把输出结果的全部或一部分保存到另外一个数据集中,以备后用。 根据需求选择性的输出结果。二、基本语法ODS open-destination; //打开格式ODS close-destination CLOSE; //关闭格式...原创 2020-06-09 22:25:49 · 1542 阅读 · 2 评论 -
PROC REPORT过程
基本的语法格式:PROC REPORT <DATA=data-set> <options>; RUN;原创 2020-06-09 00:46:07 · 8615 阅读 · 0 评论 -
PROC FORMAT过程
基本格式:PROC FORMAT <options>;<statements>;RUN;一、options:1、LIBRARY=libref; 或 LIB=libref; 指定一个路径,用来永久存储自定格式。默认临时存储在Work.Formats中。libname libref 'c:\sas\formats\lib'; proc format library=libref; ... ;run;2、FMTLIB 打印格式目录的内容????.原创 2020-06-19 16:15:56 · 5524 阅读 · 2 评论 -
SAS系统选项
指定系统选项的方式:一、创建包含系统选项设置的SAS配置文件 SAS每次启动都会访问该文件。二、启动SAS时从系统提示符指定系统选项(调用)三、更改“SAS系统选项”窗口中的所选项四、在SAS程序中使用OPTIONS语句。以上四个方法的优先级: 1、方式一 < 方式二 <(方式三 = 方法四) 2、方式三和方式四,最后使用的方法生效。方法三:“SAS系统选项”窗口1、在命令行输入“OPTINOS”2、在菜单栏中:工具→选项→系统方法四:OP...原创 2020-06-07 17:56:38 · 1579 阅读 · 0 评论 -
PROC PRINT过程
PROC PRINT过程主要用于打印数据,基本格式: PROC PRINT <options>; <statements> RUN;常用option:1、DATA=data-set;指定该过程所使用的数据集。默认为最新创建的数据集。2、NOOBS不显示观测编号。默认打印观测编号及变量值。3、LABLE当使用LABLE定义变量标签,并想打印标签而非变量名时,可以使用该选项。常用statement:1、BY variabl...原创 2020-06-07 17:14:06 · 3317 阅读 · 0 评论 -
描述性统计过程PROC MEANS 和PROC FREQ
基本语句:PROC MEANS <options><statistic-keywords>;一、options:data=data-setmaxdec=n 指定输出结果的小数位数,默认为 7 位12 noprint:禁止结果在 OTPUT 窗口输出 alpha:设定可信区间的α水平,默认为 0.05二、statistic-keywords:MAXMINMEANMEDIANNNMISSRANGESTDDEV...原创 2020-06-09 20:48:39 · 11273 阅读 · 0 评论 -
INFILE语句中的一些细节
INFILE语句格式:INFILE file-specification <options>;file-specification:用来定义文件fileref(文件标志) ’filename’(文件名) CARDS 指明输入的数据,紧跟着 CARDS 语句(CARDS,DATALINES,DATALINES4的区别--待补充)options:用来给出选项 COLUMN=variable 或 COL=variable——定义一个变量, 其值是指针所...原创 2020-06-19 16:31:05 · 2660 阅读 · 0 评论 -
SAS advanced lab 机经汇总
在一个program用预存的%scoreit(your-saved-program)运行,log里面反馈一个response。一、proc sql1、Make、Type、Rebate2、在sql中创建新变量select case when var1<10 then "low" when var1=10 then "mid" else "high" end as var_new from cert.input04;3、原创 2020-07-24 21:21:26 · 4183 阅读 · 0 评论 -
sas advanced 认证考试提纲(翻译):高级编程-基于性能的考试
一、使用SQL访问数据1、通过使用单个表、连接表或使用SQL中的set操作符生成详细报告•使用PROC SQL执行SQL查询。•使用Select语句和FROM子句选择表中的列。•从查询结果集创建一个表。•创建新的计算列。•使用AS关键字分配别名。•用例逻辑来选择列的值。•检索满足具有WHERE子句的条件的行。•使用计算关键字计算列对数据进行子集。•连接表——内连接、完全连接(合并函数)、右连接、左连接、交叉连接。•使用集合操作符- union, outer joi原创 2020-07-30 15:56:19 · 1120 阅读 · 0 评论 -
SAS base习题——答错部分
1、打印Excel文件的某个工作表proc print data=MYXLS.‘NORTH$'n;run;2、KEEP语句与KEEP选项在处理大型数据集时,KEEP=选项的效率较高KEEP语句: KEEP variable(s);不能用于过程步。KEEP=选项:data-set-name(KEEP=variable(s))可以用于数据步(DATA语句、SET语句)、过程步,其中variables是具体变量,不能是数组、_N_、_ERROR_等。3、data course; .原创 2020-06-17 21:47:25 · 1066 阅读 · 0 评论