楼主: 堇素
2308 4

一段时间内的两列数据的匹配并计算怎么在SAS中实现 [推广有奖]

  • 0关注
  • 0粉丝

大专生

86%

还不是VIP/贵宾

-

威望
0
论坛币
194 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
36 点
帖子
3
精华
0
在线时间
131 小时
注册时间
2015-4-23
最后登录
2018-4-9

10论坛币
日期             时间            v   selerl ID  buyer id  
2016.12.1    7:10:00      10    A          B
2016.12.1    7:10:01      10    B          C
2016.12.1    7:10:02      10    C         B
2016.12.1    7:10:02      10    M         A
想得到的结果是 A 处于seller id时,新的变量s 初始 0,对应s+V,处于seller id时,对应s-v,比如,A在 7:10:00  的s值为10,在 7:10:02 时刻的值为0,对里面出现的所有id 进行这样的处理。

关键词:buyer Elle Sell Erl ele
沙发
lovexialulu 发表于 2016-12-29 09:41:04 |只看作者 |坛友微信交流群
描述的不清楚啊 ,下面程序计算每个seller id 在同一天 总共sale了多少

data a;
input date $10. time $8.   v  id_s $2. id_b $2.;
DATALINES;
2016.12.1 7:10:00 10 A B
2016.12.1 7:10:01 10 B C
2016.12.1 7:10:02 10 C B
2016.12.1 7:10:02 10 M A
2016.12.1 7:10:03 10 A C
2016.12.1 7:10:09 10 C B
;
run;

proc sort data=a out=b;by id_s date time v id_b;run;

data c;
set b;
by id_s date time v id_b;
retain s;
if first.date then s=0-v;
else s=s-v;
if last.date;
keep id_s date s;
run;

使用道具

藤椅
堇素 发表于 2016-12-29 15:50:43 |只看作者 |坛友微信交流群
lovexialulu 发表于 2016-12-29 09:41
描述的不清楚啊 ,下面程序计算每个seller id 在同一天 总共sale了多少

data a;
上面写错了,都写成了seller id 想得到的每个id在每个时刻的持有量,buyerid 就加前面的v,v就是一个交易量,买或者卖,sell就减,也就是根据每笔的交易记录,看每个id每个时点的持有量。

使用道具

板凳
lovexialulu 发表于 2016-12-29 17:30:26 |只看作者 |坛友微信交流群
%macro jj(id);
proc sort data=a out=b;by  date time;
where id_s in ("&id.") or id_b in ("&id.");run;

data c;
set b;
by date time ;
if id_s in ("&id.") then v=0-v;

retain s;
if first.date then s=v;
else s=s+v;
run;
%mend jj;
%jj(A);

output like :

sale.PNG (5.73 KB)

sale.PNG

使用道具

报纸
堇素 发表于 2016-12-30 19:11:32 |只看作者 |坛友微信交流群
lovexialulu 发表于 2016-12-29 17:30
%macro jj(id);
proc sort data=a out=b;by  date time;
where id_s in ("&id.") or id_b in ("&id.");ru ...
感谢你的解答,但是还是有一个问题,这个程序通过输入id得到id的持有结果,在数据集中id很多,有20多个的情况下,一个一个试很麻烦,如果给定一个数据集,想直接看到里面id的结果要怎么实现呢?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 00:40