1)数据合并
纵向合并是指不同用户的相同字段信息进行合并,将表变长了啊~~用set temp1 temp2;
横向合并是指相同用户的不同字段进行扩展,将表变胖了啊~~用merge temp1 temp2;
2)数据汇总
比如对同一个用户,在一个月内有好几条交易额信息,我们只想知道他一个月的总和,那么就要对数据进行汇总。
可以用first. last.这样的指令,但在用着两个指令之前要对数据集进行排序;
proc sort;
by id **;(**是指要用到first.和last.指令的变量)
run;
/*汇总数据*/
if first.** then total_a=0;(每组要输出的数据都会被初始化为0)
every_a +total_a;(累加每组数据中的每一项)
if last.** then output;
3)数据转置
由于数据建模需要有唯一ID,我们像步骤2中处理得到的数据,ID仍然不是唯一的,那么我们需要把用户不同月份的交易数据放在同一个ID下。
proc transpose data=temp out=temp1
prefix=total_a;/*需要转置后新变量的前缀*/例如每月交易量名称
by id;/*指定要分组的变量,也就是唯一变量*/ 例如交易索引号
var total_a;/*要转置的变量*/ 例如每月交易量
id b;/*指定变量的值作为转置后新变量的后缀*/ 例如月份
run;
4)删除重复项
检查ID 是否唯一,且每个ID下的变量是否都是唯一的。