自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

原创 SAS语句和SAS数据集选项之间的区别(DROP、KEEP)

SAS语句和SAS数据集选项之间的一些区别。相关的关键字有:DROP、KEEP、WHERE和RENAME。本篇主要想聊一下DROP和KEEP。

2023-03-05 00:02:44 2282 1

转载 SAS 数据集编码转换

将sas文件导入(infile+input),再导出成新编码下的.sas文件(file+put)。如何在SAS的三种编码间来去自如:wlatin1,euc-cn和utf-8。在网上寻求帮助的同时看到了这篇公众号。我在这里想把这种方法具体化一下~查看当前SAS环境的语言编码。

2023-03-01 15:48:37 2262

原创 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 929

原创 多个sheet页导入作为同一个逻辑库的数据集导入SAS

多个sheet页导入作为同一个逻辑库的数据集导入SAS

2022-10-25 12:42:36 640

原创 P21升级后,用旧的spec模板生成的defime.xml中WhereClauses(VLM)里的逗号不能正常显示

这可能是P21在旧模板兼容方面的一个BUG。

2022-09-30 11:16:55 702 1

原创 使用 SAS 宏变量

SAS Enterprise Guide 中的全局 SAS 宏变量宏变量 说明 _CLIENTAPP 客户端应用程序的名称 CLIENTMACHINE 客户端机器节点名称 _CLIENTPROCESSFLOWNAME 过程流名称 _CLIENTPROJECTNAME 项目的文件名 _CLIENTPROJECTPATH

2022-04-13 22:20:16 2164

原创 在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 1344

原创 word中如何去掉当前页的水印,且不影响其他页

场景一:去掉第一页的水印操作步骤:鼠标移到第1页的最后一个字符后,菜单栏(页面布局)--分隔符-----分节符(下一页)。 此时光标自动跳到第2页的页眉,双击第2页的页眉。 此时看工具栏有一个变成了深颜色(链接到前一条页眉),点击一下它变成灰颜色。 鼠标在点到本页的页脚处,工具栏(链接到前一条页眉)又成深颜色了,在点击让它变成灰颜色。 此时选中第1页的水印,删除掉,双击当前页的中间退出页眉编辑状态,保存即可。第1页的水印成功去掉了。场景二:去掉最后一页的水印操作步骤:鼠标.

2022-02-10 13:15:01 9638

原创 移动看不见的窗口(弹窗)

alt键+空格+M ,再按上下左右键可以移动窗口,直到出现在屏幕中。

2022-01-24 21:53:32 756

原创 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 1817

原创 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 2807 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 1657

原创 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 7201

原创 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 13190

原创 CDISC简介

CDISC——中文名称:临床数据交换标准协会(CDISC - the Clinical Data Interchange Standards Consortium)该协会为如何收集数据、收集什么类型的数据、如何将数据提交给负责审批新药的机构建立起了一套标准。而通常我们说CDISC时,说的就是这套标准。实施CDISC标准有什么好处?提高效率 完整的可追溯性 加强创新 提高数据质量 促进数据共享 降低成本 提高可预测性 简化流程CDISC标准的组成:1、基础标准(Foun.

2020-08-04 15:51:42 8909

原创 【直播笔记】在临床研究中,如何利用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 8111 5

原创 sas advanced 认证考试提纲(翻译):高级编程-基于性能的考试

一、使用SQL访问数据1、通过使用单个表、连接表或使用SQL中的set操作符生成详细报告•使用PROC SQL执行SQL查询。•使用Select语句和FROM子句选择表中的列。•从查询结果集创建一个表。•创建新的计算列。•使用AS关键字分配别名。•用例逻辑来选择列的值。•检索满足具有WHERE子句的条件的行。•使用计算关键字计算列对数据进行子集。•连接表——内连接、完全连接(合并函数)、右连接、左连接、交叉连接。•使用集合操作符- union, outer joi

2020-07-30 15:56:19 1036

原创 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 3982

原创 用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 2023

原创 PROC SQL(八)——视图

一、视图1、功能视图是一系列的查询语句,在使用时被执行,用来从其他的数据集或视图中获取想要的子集(subset)或者超集(superset)。只包含访问数据的逻辑,而不包含数据本身。2、优点1、与数据集相比,更节省空间2、减少重复的查询语句3、想用户隐藏复杂的查询关系4、动态获取最新数据3、注意1、避免在视图定义中使用ORDER BY子句,在引用视图的查询中指定ORDER BY子句更有效。2、如果同样的data要用很多次,那么最好不要创建视图而是直接创建静态表

2020-07-05 19:11:15 459

原创 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 1602

原创 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 753 1

原创 PEOC SQL(五)——内联接

目录一、了解joins二、笛卡尔积三、PROC SQL按照以下步骤处理联接四、内联接1、功能:2、两种方法3、语法:4、举例:一、了解joins是一种查询,被联接的表不需要具有相同的行数或者列数。联接一般有两种类型:内联接——取两个表公共的部分 外联结二、笛卡尔积概念:处理任何类型的联接时,proc sql首先生成一个笛卡尔积,其中包含来自所有表中行,在一起的所有的可能的组合。生成一个笛卡尔积:如果在from语句中指定多个表,但没有where语句,

2020-07-05 10:31:11 592

原创 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 1434

原创 累加选项

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 182

原创 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 1333

原创 SAS函数——日期函数

一、日期的合并将月、日、年合并为一个日期格式的变量或值。mdy(月,日,年);注意:月,日,年的顺序不能变。二、日期的差值 计算两个日期之间以年为单位的差值yrdif(开始日期,结束日期,"计算依据"); 计算两个日期之间以天为单位的差值datdif(开始日期,结束日期,"计算依据"); 计算依据: "actual" 按当年的实际天数计算,常用 yrdif(开始日期,结束日期,"actual"); datdif(开始日

2020-06-19 19:53:37 16613

原创 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 2528

原创 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 5193 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 1035

原创 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 2953

原创 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 10203

原创 基本的比较运算符

符号 助记符 含义 = EQ 等于 ^=,~= NE 不等于 > GT 大于 < LT 小于 ≥ GE 大于等于 ≤ LE 小于等于

2020-06-18 16:10:11 196

原创 查找重复值和删除重复值,排序——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 8500

原创 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 339

原创 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 1000

原创 数据合并——合并汇总统计量和原始数据

摘自《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 1137

原创 数据合并(横向)——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 3528

原创 数据合并(纵向)——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 2042

原创 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 5440

Interviewing and Assessing SAS Programmers

Interviewing and Assessing SAS Programmers 面试和评估SAS程序员

2020-07-21

merges and joins 25p109.pdf

Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation

2020-06-30

Macro Quoting Functions PharmaSUG-2018-BB20.pdf

PharmaSUG 2018 - Paper BB-20 The Fundamentals of Macro Quoting Functions Arthur Li, City of Hope National Medical Center, Duarte, CA

2020-06-30

Hash Objects 3024-2015.pdf

Paper 3024-2015 Introduction to SAS® Hash Objects Chris Schacherer, Clinical Data Management Systems, LLC

2020-06-30

advanced-programming-sas-94.pdf

SAS 9.4 Advanced Programming – Performance Based Exam

2020-06-30

advanced-programming sas-94.pdf

Sample Questions SAS 9.4 Advanced Programming Performance-Based Exam

2020-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除