特别说明:本节【SAS Says】基础篇:SAS宏初步,用的是数说君学习《The little SAS book》时的中文笔记,我们认为这是打基础的最好选择。 转载请在文章开头注明微信号:shushuojun,谢谢! 宏用来处理重复工作最好,比如你需要跑10个回归,用proc reg...,这10个回归其他都一样,就是因变量y每次需要换。那么将回归程序写成一个宏,每次用的时候换参数就可以了。 总之,宏可以降低重复性工作的任务量,使程序模块化。 本节目录: 1. 宏概述 2. 用宏变量提交文本 3. 用宏创建
在SAS各种繁杂的PROC之后,还要来看看MACRO才可以嘛。又不能写函数... SAS中的MACRO:宏编写 MACRO主要是DO和%LET的各种组合,前者负责循环后者负责变量。 一个例子: image.png 这段代码可以做什么呢?很简单,替换文字。我们指定了一个SAS MACRO中的变量flowertype,在执行MACRO的时候他会被自动翻译成标准的SAS代码。这样执行的结果就是: 看到了吧,标题已经被替换了。 一段MACRO以%macro开始,然后以%mend结束。 image.pn
宏用来处理重复工作最好,比如你需要跑10个回归,用proc reg...,这10个回归其他都一样,就是因变量y每次需要换。那么将回归程序写成一个宏,每次用的时候换参数就可以了。 总之,宏可以降低重复性工作的任务量,使程序模块化。 本节目录: 7.1 宏概述 7.2 用宏变量提交文本 7.3 用宏创建一个模块化的代码 7.4 给宏增加参数 7.5 使用条件逻辑写宏 7.6 用call symput编写数据驱动程序 7.7 排除宏错误的bug ---- 【SAS Says】基础篇:7. SAS宏初步 7.1 宏
利用ods Excel输出的xlsx文件较小,怎么来形容其小呢,小编今天尝试了113个数据集(大概65M)利用ods excel输出到一个xlsx文件里面,文件大小只有586k.而利用tagsets.excelxp输出大小为10M。
作者 CDA 数据分析师 SAS 作为世界知名大数据分析产品,只要是大机构, 不论是、制药、金融、保险、市场部门、NGO 还是政府部门,SAS 的覆盖率,都是完全不可被替代的。甚至部分IT公司在统计
本文介绍了SAS宏语言、SQL过程、多表操作、数据合并查询、数据集操作、数据存储和SQL多表操作等方面的内容。
在说正文前,小编还是要插播一下小编今年的一次面试经历。今年,小编去5家公司面试了,恩,从5月份开始,差不多一个月去一家公司面试,前俩家被拒,后三家都拿到offer了。
今小编这里说的快捷键,并不是通俗意义上的那种CTRl+A、CTRL+C的这种快捷键,而是SAS编程里面的宏功能键(我称“快捷键”)。改键的使用,可实现设置代码块,以后只敲击代码块的缩写,自动就弹出代码。
今天分享的是SAS软件使用过程的中的几个小技巧,掌握了一些小技巧,编程的效率会提高的更快,还能减少敲代码出错率,好处很多,小编就不一一赘述了。 ----Setup~ 1 快捷键(功能键的使用) 今小编这里说的快捷键,并不是通俗意义上的那种CTRl+A、CTRL+C的这种快捷键,而是SAS编程里面的宏功能键(我称“快捷键”)。改键的使用,可实现设置代码块,以后只敲击代码块的缩写,自动就弹出代码。 01 看效果 1.以输入CSV为例 2.输入回车
统计学与数据挖掘书籍推荐 1.1《 The Elements of Statistical Learning 》,神书,不解释 1.2《实用多元统计分析》,从线性代数的角度详细讲解算法,例子简单,国外课程教材 1.3《统计学习方法》,李航著,统计学习算法必备书籍 1.4《从零进阶!数据分析的统计基础》 CDA 数据分析师系列丛书 1.5《统计学:从数据到结论》 1.6《数据挖掘:概念与技术》 数据分析软件篇 SQL 书籍推荐 《 MySQL 必知必会》 SPSS 推荐书籍 《SPSS统计分析基
小编最近在潜心研究外部数据导入SAS,深感Excel的导入的不便利,想实现程序控制将Excel改为CSV在通过CSV导入SAS。想着想着,就想到用外部语言来实现文件的另存为的功能,开始呢,想用Excel中的VAB来实现,后来呢觉得SAS执行Excel里面Macro不太方便~因此就想用Python来实现。
说到Macro,那么就不得不说宏变量,宏变量的是啥呢?可以理解成和其它编程语言中的变量一样,在内存中创建了一个空间(给这个空间一个标记,宏变量的名称),然后将一些值放到这个内存空间中(这就是定义宏变量的过程),好吧,我是一个不善解释的人,没理解的还是自行百度领悟。那么就来看看如何来定义Macro变量。
这样做的的好处是啥呢,每次运行数据或者数据集想实现自动存下来,这个时候就可以用SAS自动创建文件夹的方式来存储。
不管是在data步中,还是在宏中,都是会有条件判断,在data步中有if ...then ...在宏中也是有该语句的,不过得加上%号,那就是 %if ....%then ...还是先来看一段代码,来看看宏中的%if语句...
当前在用报表平台是帆软旗下的BI和Report,目前版本还不支持邮件提醒异常报表。
今天给大家Share的是关于CSV导入SAS、以及filename获取文件夹名称、文件名称 ----Setup~
%frq_missing(inds=如何需要check的数据集,outds=缺失结果输出的数据集,sasver=SAS语言的版本/CN 或EN);
很久很久以前,有人问小编:SAS如何实现发邮件的功能,小编尴尬的反问道:SAS居然还能发邮件?是的,SAS可以实现发邮件的功能。以前觉得这个功能好鸡肋,现在小编变赖了,想将一切都交个SAS去实现半自动化乃至全自动化。在运行完SAS程序后,自动将产生的结果发给指定的人。
1.proc cport 过程步,与之对应的是XPT生产SAS数据的方式proc cimport 。
从第一天学习SAS开始,就摆脱不了看SAS日志,每次运行完程序的第一件事,不是看程序运行的结果,而是点击一下Log页面,第二件事也不是去看结果,而是仔细的浏览Log里面,有没有红色的字体出现(ERROR),有没有绿色的字体出现(WARNING),接着在看有没有黑色的_ERROR_=1出现(出现这种情况,一般是你的数据不满足条件或者语法有问题,下面会有例子),接着还得再看看有没有蓝色的字体(XXX未初始化)出现。就目前小编主要看的也就这四种常见的问题。肯定是不全的,各位大神如有兴趣可以留言补充~
懒惰的小编好像开启了一月一更的模式了,许久未写编程中的小技巧了,于是今天小编打算分享几个编程中的小技巧。
昨天哪一篇说了宏变量定义的三种方式(SAS-Macro 中的那些语句(一)),今天接着昨天的说...还是围绕着宏变量进行展开,第一个问题,宏变量的作用域有限制么?答案也是有的,和其它的编程语言中的变量是一样的,SAS中的宏变量是分局部宏变量与全局宏变量...
SAS提供了从基本统计数的计算到各种试验设计的方差分析,相关回归分析以及多变数分析的多种统计分析过程,几乎囊括了所有最新分析方法,其分析技术先进,可靠。分析方法的实现通过过程调用完成。许多过程同时提供了多种算法和选项。Cloudera与SAS是相互认证的合作伙伴,在各自的官网都能找到集成安装的专业文档,也能得到专业的支持。本文主要介绍SAS的安装,并通过SAS访问Kerberos和非Kerberos环境下的Hive和Impala。
SAS中的一些常见的符号。运算符是一种符号 ①比较算符 ②算术算符 ③逻辑算符 ④其它算符
今天看到一个群友提的一个问题:SAS有无一个函数将某LIBNAME下表名都取出?这个问题用字典数据表或者视图(DICTIONARY Tables and SASHELP Views)可以轻松解决。如获取逻辑库SASHELP下所有表名,代码如下:
第一篇“Think Sas”中的“Think”,纯粹做“考虑”解,说,诸君如果为工作计,不妨考虑下SAS。下面说些关于SAS本身的一些思考与认识。俗话说,人类一思考,上帝就拍砖。上一篇是纯劝导型,这一篇就是求拍砖型。 0.总结与回应 在展开讨论之前,希望大伙对“事实问题”而不是“价值问题”能有一个统一的认识,这也是我对上篇各位的评论的一个总结与回应。 0.1 功能:SAS 与R 一些朋友询问SAS或R或其他软件功能的优劣,然后决定自己应该着手学哪个。这是一个
你是被标题吸引来的么?那么小编就要向你道歉了,100种?当然是没有的,但还是有很多中,小编今天的要盘点的一下SAS输出Excel的方法,各种方式之间的优劣。其实好几天前就打算写的,也是在好几天前开始酝酿,一直没有空下来的时间,年底了,各种忙,小编的时间就像是被挤干了的海绵一样,这几天怎么挤都挤不出。废话好像有点多,还是回到今天的主题上~
嗯,于是小编从公众号上下载了自2017年11月11日-2018年03月25日的公众号每日增粉相关的数据...接着小编就开始分组了,以500人为区间,分成3个组进行对照研究(group1:<=1000;group2:1000-1500;group3:1501-2000);小编这里想到了临床试验中比较常见的对连续变量进行的描述性统计分析的一个例子,因此,我就套用过来对我公众号每日增粉数量进行分析,并按照临床试验中出三线表的形式,将分析结果进行输出!结果如下:
可以考虑一下中文文本中存在空格的情况,如果分割部分存在空格,length是会直接忽略掉空格的长度的
这又是一篇SAS编程中的小技巧,这次要说的是SAS中数据字典与Macro结合起来的使用技巧,以及数据集删除、保存等技巧....
见上图:第一部分是一个简单的查询结构,第二部分小编设置快捷键(输入Sql后)自动弹出的结构(一个左连接的基本结构),快捷键的设置见小编历史推送(点击此处自动跳转:快捷键设置)。基本结构是这样的,基本就是这样的。还是用例子个程序来介绍在SAS里面的用途。
昨日,《药物临床试验数据递交指导原则》(试行)版正式公布了,在小编阅读后,于是本文因时而生了。
昨天最后的一个函数是Lag,那么今天的第一个函数是和昨天的lag很类似,Lag可以将前一条观测下移,然后求差值,那么今天这个函数是可以直接求上下观测的差值...下来看看这段代码...
大家都知道SAS数据集中的变量是分数值型、字符型的。那么SAS的宏变量是否分数值型变量和字符型变量呢?是不分的,那么宏变量的计算是直接算么?当然是不是的,宏变量的计算是有俩个关键词%eval(只能进行整数的运算),%sysevalf(可进行整数运算与小数运算)....
恩!又有一条群消息引发了我的思考,后续应该还会有接连不断的群消息引发小编的思考...
%macro csv_csv2sas(path=,csvname=,colmax=%str(10000),outds=,encoding=gb2312,varr=0,labelr=1,length=500);
前段时间有一个需求,利用SAS实现文档目录的自动生成。这里小编没有限定文档的类型,是因为本文将分享两种类型文档(PDF/RTF)通过SAS自动生成目录的方法。
上个月的今天,我从南到北,从深圳奔赴帝都参加了一个制药行业软件用户组2016中国区年会(PharmaSUG China 2016)。听了两天的报告,收获不少。有幸见到SAS绘图大神Sanjay Matange,可惜当时忘记了要合影。这个名字可能大家不熟悉,但是他的博客Graphically Speaking我相信很多人有看过。在众多报告中,印象较深的是这个。作者分享了几个很有用的SAS技巧,比如自动打开所标记的数据集、自动获取某个变量的值。可惜没有分享源程序,所以我写了三个小程序,实现了自动打开数据集、执行选中程序并打开生成的数据集以及复制变量值。
如下代码,三个宏参数,inpath为需要转化后缀名SAS程序所在的路径,allYN控制是否将指定路径下所有SAS程序转化成TXT后缀(所有指的是包含指定路径下存在子文件夹),outencoding控制转化后TXT纯文本的编码。
临床试验的SAS程序猿/媛都知道,FDA对所提交的数据集的大小是有限定的,因为数据集过大在操作时会有点麻烦(比如打开会很慢),所以当我们生成最终的数据集时就要进行一个操作:按照字符型变量值的最大长度来重新定义变量的长度,以删除多余的空格从而减少数据集的大小。下面贴上我去年写的实现这一目的的宏程序:
如果想用SAS发邮件,还是需要在邮箱中配置一下的,比如开启SMTP,这个就需要登录网页版邮箱去开启,其实本来打算用网易邮箱为例,不过最近登录网易邮箱进行设置我一直点不动...所以就以新浪、搜狐、QQ邮箱为例...
愉快的周末又要结束了,繁忙的周一也即将开始!小编今天给大家Share的一个Macro是关于临床数据清理中的一个实用性的Macro,SAS Edit Check Output Query. -- Setup
据说上图(来源于网络)中这道小学生趣味题只要聪明一点的小学生都可以解出来,成年人估计只要一分钟。我也试着用SAS来解答, 思路如下:首先获取所有的数字出现的位置,然后与完整的位置(1234)比较,去重存异;根据题中的提示每次输入有两位数字正常且位置都不对,故排除只出现一次或者出现4次的数字;最后将数字的多个位置和已被占的单一位置进行比较,去重存异。重复这一操作直到得到每个数字的正确位置。完整的程序如下:
SAS中获取网页上信息的原理其实很简单,就是将网页上的html代码给导入进数据集中,然后利用一定规律来获取自己想要的提取的信息...(目前个人浅显的理解),那么如何来将网页的代码直接导入的数据集中呢,见如下代码...
SAS程序猿/媛在跑程序之前通常要进行一些设置,比如清除日志和输入窗口等;在程序跑完之后,又需要检查数据集的结果,比如查看某一特定的行或者特定的变量的值是否正确,如果这些通过菜单来操作,那可能会不方便且浪费时间。好在我们可以通过DM语句来快速地完成这些工作。使用方法有多种,如果不需要交互有以下几种途径:在程序编辑窗口直接提交对应的代码、设置快捷键、定制工具栏或者在工具栏通过GSUBMIT命令直接执行命令。需要交互时的途径有:通过GSUBMIT命令直接输入命令、设置快捷键。下面 以需要在一个较的数据集中快速定位特定变量或者特定的行为例来介绍需要交互时的途径:
本文介绍了如何在SAS中使用逻辑库和格式来处理多语言文本,并通过实例演示了如何在SAS中读取和写入文本文件。同时,还介绍了如何使用SAS的字符串函数和CALL例程来处理字符数据。
今天要写的是关于SAS在临床试验中自动输出频数表的程序。在临床试验中,我们会对不良事件与合并用药进行医学编码,编码后,我们会对编码进行分级频数汇总。汇总表长的什么样子呢,来见下图!
在临床编程中,经常会遇到制作注释CRF的场景。今天小编来分享一下,如何利用SAS实现注释CRF的制作。
今天介绍一下用FILENAME PIPE来获取某一目录下某种类型文件的最后修改时间。比如要获取程序所在目录下SAS数据集的最后修改时间,代码如下:
标题有些噱头,不过这里的重点是: speak SAS in 7days。也就是说,知识是现成的,我这里只是要学会如何讲这门语言,而不是如何边学SAS边学模型。顺便发现我最近喜欢写连载了,自从西藏回来后..... 之所以下定决定学SAS,是因为周围的人都在用SAS。为了和同事的沟通更有效率,还是多学一门语言吧。R再灵活,毕竟还是只有少数人能直接读懂。理论上语言是不应该成为障碍的~就像外语一样,多学一点总是好的,至少出门不发怵是不是? 最后一根稻草则是施老师传给我的一个link:http://blog.so
领取专属 10元无门槛券
手把手带您无忧上云