0

来自 SAS 的表

在此表中,Trans_Date 列一直持续到 2016 年 7 月 31 日。

如何在循环下将 Value 列与 Rate 列相乘(在特定日期的 currency_conv 中看到的 AUD 的货币兑换为 NZD、CAD、GBP)以仅以 AUD 显示每个 Order_Number 的值?

货币列只能以澳元表示。

4

1 回答 1

0

您是否要求取每种货币每天的澳元兑换率并相应地乘以每个条目?

为此,您可以尝试以下操作:

首先,创建一个新表:

proc sql noprint;
create table rates as
select * from table
where Currency = 'AUD'
order by Trans_date;
quit;

data rates;
set rates;
by Trans_date;
output;
if last.Trans_date then do;
  currency_conv = 'AUD';
  rate = 1.;
  output;
end;
run;

现在加入表格:

proc sql noprint;
create table as newTable
select a.*,a.value*b.rate as newValue
from table as a
left join (select * from rates) as b
on a.Trans_date = b.Trans_date
and a.currency = b.currency_conv;
quit;
于 2017-06-03T15:05:53.970 回答