- 博客(54)
- 资源 (6)
- 收藏
- 关注
原创 SAS语句和SAS数据集选项之间的区别(DROP、KEEP)
SAS语句和SAS数据集选项之间的一些区别。相关的关键字有:DROP、KEEP、WHERE和RENAME。本篇主要想聊一下DROP和KEEP。
2023-03-05 00:02:44
3004
转载 SAS 数据集编码转换
将sas文件导入(infile+input),再导出成新编码下的.sas文件(file+put)。如何在SAS的三种编码间来去自如:wlatin1,euc-cn和utf-8。在网上寻求帮助的同时看到了这篇公众号。我在这里想把这种方法具体化一下~查看当前SAS环境的语言编码。
2023-03-01 15:48:37
3447
原创 OPTIONS FMTSEARCH
所以目录(Work.Formats)和(Library.Formats)总是会被搜索,不管它们是否出现在FMTSEARCH列表中。按照列表中出现的顺序从左到右依次搜索。其中Work.Formats目录总是最先被检索,Library.Formats目录则第二个被检索,除非它出现在FMTSEARCH选项中。会按照Work.Formats、MYLIB.formats和LIBRARY.formats的顺序搜索这些目录。对于下文中出现的MYLIB和LIBRARY的理解存疑,纯个人暂时观点,有待验证。
2023-02-20 17:39:56
1204
原创 P21升级后,用旧的spec模板生成的defime.xml中WhereClauses(VLM)里的逗号不能正常显示
这可能是P21在旧模板兼容方面的一个BUG。
2022-09-30 11:16:55
908
1
原创 使用 SAS 宏变量
SAS Enterprise Guide 中的全局 SAS 宏变量宏变量 说明 _CLIENTAPP 客户端应用程序的名称 CLIENTMACHINE 客户端机器节点名称 _CLIENTPROCESSFLOWNAME 过程流名称 _CLIENTPROJECTNAME 项目的文件名 _CLIENTPROJECTPATH
2022-04-13 22:20:16
2487
原创 在RTF上输出特殊字符
本文默认:ods escapechar="^";一、上下角标——super/sub上角标:“BMI(kg/m^{super 2})” “体重指数^{super *}”下角标:"T^{sub max}" "AUC^{sub 0-t}"ODS ESCAPECHAR="^"; data rep1; item = "S01001^{super *}"; col1 = 2.528; col2 = 163.725;run;proc report data=rep1 now
2022-04-10 13:34:46
2130
原创 word中如何去掉当前页的水印,且不影响其他页
场景一:去掉第一页的水印操作步骤:鼠标移到第1页的最后一个字符后,菜单栏(页面布局)--分隔符-----分节符(下一页)。 此时光标自动跳到第2页的页眉,双击第2页的页眉。 此时看工具栏有一个变成了深颜色(链接到前一条页眉),点击一下它变成灰颜色。 鼠标在点到本页的页脚处,工具栏(链接到前一条页眉)又成深颜色了,在点击让它变成灰颜色。 此时选中第1页的水印,删除掉,双击当前页的中间退出页眉编辑状态,保存即可。第1页的水印成功去掉了。场景二:去掉最后一页的水印操作步骤:鼠标.
2022-02-10 13:15:01
12956
原创 SAS编程——数据集比较proc compare
data temp1 temp2; set sashelp.class; output temp1; if sex='1' then do; height=height+1; weight=weight-1; end; output temp2;run;proc compare base=temp1 comp=temp2;run;
2021-10-04 22:59:06
2062
原创 SAS编程——批量修改变量值
data temp; set sashelp.class; array alln _numeric_; /*_numeric_:所有数值型变量*/ do over alln; if alln=. then alln=0; end; array allc _character_; /*_character_:所有字符型变量*/ do over allc; if a.
2021-10-04 21:53:08
3184
3
原创 SAS编程——修改数据集属性
data temp1(label="数据集1") temp2(label="数据集2"); set sashelp.class; date=today(); if sex='1' then output temp1; if sex='2' then output temp2;run;proc datasets library=work nolist; /*指定逻辑库*/ change temp1=sex1 temp2=sex2; .
2021-10-04 21:32:40
1896
原创 SAS函数学习笔记——字符操作
一、字符变量的存储长度SAS怎样定义字符变量的存储长度?DATA EXAMPLE1; INPUT GROUP $ @10 STRING $3.; LEFT = 'X '; /* X和4个空格 */ RIGHT = ' X'; /* 4个空格和X */ SUB = SUBSTR(GROUP,1,2); REP = REPEAT(GROUP,1);DATALINES;ABCDEFGH 123XXX 4Y 5;/*
2021-02-09 15:18:24
9105
原创 SAS编程——关于时间的处理
一、时间常量数值型变量的时间:时间:距离0:00:00的秒数; 日期:距离1960-1-1的天数; 日期时间:1960-1-1:0:00:00的秒数;时间常量:data _null_; format dt1 datetime20. dt2 datetime20. dt3 datetime20. dt4 datetime20. date1 yymmdd10. date2 yy
2020-12-11 23:39:13
15949
原创 CDISC简介
CDISC——中文名称:临床数据交换标准协会(CDISC - the Clinical Data Interchange Standards Consortium)该协会为如何收集数据、收集什么类型的数据、如何将数据提交给负责审批新药的机构建立起了一套标准。而通常我们说CDISC时,说的就是这套标准。实施CDISC标准有什么好处?提高效率 完整的可追溯性 加强创新 提高数据质量 促进数据共享 降低成本 提高可预测性 简化流程CDISC标准的组成:1、基础标准(Foun.
2020-08-04 15:51:42
9534
原创 【直播笔记】在临床研究中,如何利用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
9114
5
原创 sas advanced 认证考试提纲(翻译):高级编程-基于性能的考试
一、使用SQL访问数据1、通过使用单个表、连接表或使用SQL中的set操作符生成详细报告•使用PROC SQL执行SQL查询。•使用Select语句和FROM子句选择表中的列。•从查询结果集创建一个表。•创建新的计算列。•使用AS关键字分配别名。•用例逻辑来选择列的值。•检索满足具有WHERE子句的条件的行。•使用计算关键字计算列对数据进行子集。•连接表——内连接、完全连接(合并函数)、右连接、左连接、交叉连接。•使用集合操作符- union, outer joi
2020-07-30 15:56:19
1224
原创 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
4479
原创 用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
2323
原创 PROC SQL(八)——视图
一、视图1、功能视图是一系列的查询语句,在使用时被执行,用来从其他的数据集或视图中获取想要的子集(subset)或者超集(superset)。只包含访问数据的逻辑,而不包含数据本身。2、优点1、与数据集相比,更节省空间2、减少重复的查询语句3、想用户隐藏复杂的查询关系4、动态获取最新数据3、注意1、避免在视图定义中使用ORDER BY子句,在引用视图的查询中指定ORDER BY子句更有效。2、如果同样的data要用很多次,那么最好不要创建视图而是直接创建静态表
2020-07-05 19:11:15
559
原创 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
1928
原创 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
852
1
原创 PEOC SQL(五)——内联接
目录一、了解joins二、笛卡尔积三、PROC SQL按照以下步骤处理联接四、内联接1、功能:2、两种方法3、语法:4、举例:一、了解joins是一种查询,被联接的表不需要具有相同的行数或者列数。联接一般有两种类型:内联接——取两个表公共的部分 外联结二、笛卡尔积概念:处理任何类型的联接时,proc sql首先生成一个笛卡尔积,其中包含来自所有表中行,在一起的所有的可能的组合。生成一个笛卡尔积:如果在from语句中指定多个表,但没有where语句,
2020-07-05 10:31:11
752
原创 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
1799
原创 累加选项
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
227
原创 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
1426
原创 SAS函数——日期函数
一、日期的合并将月、日、年合并为一个日期格式的变量或值。mdy(月,日,年);注意:月,日,年的顺序不能变。二、日期的差值 计算两个日期之间以年为单位的差值yrdif(开始日期,结束日期,"计算依据"); 计算两个日期之间以天为单位的差值datdif(开始日期,结束日期,"计算依据"); 计算依据: "actual" 按当年的实际天数计算,常用 yrdif(开始日期,结束日期,"actual"); datdif(开始日
2020-06-19 19:53:37
18079
原创 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
2825
原创 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
5775
2
原创 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
1189
原创 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
3427
原创 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
12043
原创 基本的比较运算符
符号 助记符 含义 = EQ 等于 ^=,~= NE 不等于 > GT 大于 < LT 小于 ≥ GE 大于等于 ≤ LE 小于等于
2020-06-18 16:10:11
250
原创 查找重复值和删除重复值,排序——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
10228
原创 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
386
原创 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
1140
原创 数据合并——合并汇总统计量和原始数据
摘自《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
1246
原创 数据合并(横向)——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
3746
Interviewing and Assessing SAS Programmers
2020-07-21
merges and joins 25p109.pdf
2020-06-30
Macro Quoting Functions PharmaSUG-2018-BB20.pdf
2020-06-30
Hash Objects 3024-2015.pdf
2020-06-30
advanced-programming sas-94.pdf
2020-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人