SAS中文论坛
标题:
-------请教一个不同数据集之间的乘法问题(汇率转换)------!!!
[打印本页]
作者:
shiyiming
时间:
2011-2-15 00:03
标题:
-------请教一个不同数据集之间的乘法问题(汇率转换)------!!!
题目: 怎么把销售额从欧元根据当天的汇率换成美元。 (很多天的汇率没有,需要用上次的汇率代替)。
(欧元换美元)
date rate
2009-1-9 1.87
2009-1-9 1.67
2009-1-9 1.9
2009-1-9 1.94
2009-1-9 1.15
2009-1-16 1.17
2009-1-16 1.1
2009-1-16 1.16
2009-1-16 1.18
2009-1-16 1.25
2009-1-23 1.28
2009-1-23 1.2
2009-1-23 1.17
2009-1-23 1.21
2009-1-23 1.13
2009-2-6 1.14
2009-2-6 1.2
2009-2-6 1.14
date sales
2009-1-9 199
2009-1-9 187
2009-1-9 178
2009-1-9 100
2009-1-9 100
[color=#FF0000:2mnjlnci]2009-1-10 600
2009-1-11 122
2009-1-12 661
2009-1-13 168
2009-1-14 343[/color:2mnjlnci]2009-1-16 188
2009-1-16 199
2009-1-16 177
2009-1-16 112
2009-1-16 123
2009-1-23 128
2009-1-23 142
2009-1-23 117
2009-1-23 121
2009-1-23 113
2009-2-6 114
2009-2-6 122
2009-2-6 114
数据很多,只是举个例子
不会的地方是,不知道如何让系统在没有当天汇率的时候自动使用上次汇率!!!
最好能给我commands
作者:
shiyiming
时间:
2011-2-15 23:39
标题:
Re: -------请教一个不同数据集之间的乘法问题(汇率转换)------!!!
经由 dapangmao 前辈指点,小弟写了一段code,希望能满足要求:
[code:9p6j9t6v]
data rate;
input date yymmdd10. rate;
format date yymmdd10.;
datalines;
2009-1-9 1.87
2009-1-9 1.67
2009-1-9 1.9
2009-1-9 1.94
2009-1-9 1.15
2009-1-16 1.17
2009-1-16 1.1
2009-1-16 1.16
2009-1-16 1.18
2009-1-16 1.25
2009-1-23 1.28
2009-1-23 1.2
2009-1-23 1.17
2009-1-23 1.21
2009-1-23 1.13
2009-2-6 1.14
2009-2-6 1.2
2009-2-6 1.14
;
run;
data sales;
input date yymmdd10. sales;
format date yymmdd10.;
datalines;
2009-1-9 199
2009-1-9 187
2009-1-9 178
2009-1-9 100
2009-1-9 100
2009-1-10 600
2009-1-11 122
2009-1-12 661
2009-1-13 168
2009-1-14 343
2009-1-16 188
2009-1-16 199
2009-1-16 177
2009-1-16 112
2009-1-16 123
2009-1-23 128
2009-1-23 142
2009-1-23 117
2009-1-23 121
2009-1-23 113
2009-2-6 114
2009-2-6 122
2009-2-6 114
;
run;
proc sort data=rate;
by date;
run;
proc sort data=sales;
by date;
run;
data all (drop=temp);
merge rate sales;
by date;
retain temp;
if rate='.' then rate=temp;
else temp=rate;
sales_new=rate*sales;
run;
[/code:9p6j9t6v]
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2