- 博客(6)
- 收藏
- 关注
原创 按照某个字段将SAS数据集导出多个数据集
data _null_; set sashelp.cars; call execute('data origin_'││
2020-12-28 23:42:55
1837
原创 使用SAS创建日历表
在使用SAS进行数据分析时候经常需要对日期进行处理和调用,因为数据库的文件大部分都有yyyymmdd格式的日期后缀。借助日历表我们就可以更加灵活的对数据集进行调用。下面我们使用SAS创建日历表calendar,该表共包含十个字段,序号n,日期date,年year,月month,日day,星期几weekday,是否是工作日isworkday,对应当月第几个工作日workday,当月工作日天数workdays,对应的工作日working_day(如果是工作日则对应自身,如果是非工作日则对应上一个工作日)/*
2020-08-27 18:57:30
1876
原创 在SAS宏程序中使用datalines出错
在使用SAS编程时,我们经常会使用下面的程序生成一个小数据集用来做测试,非常方便。但是在宏程序中,这种做法就不灵了,例如下面的test1宏运行时候就会报错,这是因为SAS对宏语言的处理优先等级更高,两者的编译时间不同。data person; input name $ dept $; datalines;John SalesMary Acctng;run;%macro test1;data person; input name $ dept $;
2020-08-14 13:28:56
745
原创 使用SAS array遍历变量
上周小黑的老板告诉小黑,他想看公司客户平均持有产品的数量,这是一个非常有意思的话题,因为公司的客户表中有客户的总资产,以及所对应的每个产品下面的资产,唯独没有客户持有产品的数量。下面我们使用sas array去遍历客户的所有产品,计算客户持有产品的数量,如果产品的资产在10,000以上则认定客户正持有该产品(注意这里的统计标准是10,000,而不是0,因为对于一些持有金额比较小账户对业务的意义不大,这也是和老板讨论的结果)。上图是模拟的客户表kh,包含客户编号id,五个产品a, b, c, d, e账上
2020-08-10 19:59:23
3265
原创 使用SAS数据步进行行列变换
记得刚入门SAS时候,有一次面试,其中有一道题目就是行列变换。当时作为一名最初学者自然不知道还有这种风骚操作,更不知道这种操作有什么用,面试的结果自然是不通过。后来知道了行列变换可以用proc transpose一键搞定,但其参数配置之复杂,每次使用都要重新学习,十分不方便(这也从侧面证明了该过程步之强大,涵盖范围之广)。再后来学习姚志勇老师的课程,姚老师教导我们,“要知其然知其所以然”,“任何过程步本质上是在程序后台运行数据步”,本着学以致用的原则,我们就在实际案例中练习一下。假设我们经营着一家全国性大
2020-07-08 00:32:54
3984
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人