获取sas中行级别的值之间的差异

时间:2016-04-12 02:51:20

标签: sas

数据基本上是月配置价格。我想获得AMOUNT的趋势。至于价格在12个月内的表现如何,对于每种配置和整体趋势。

Proc sql不支持“dif”语法。我无法在数据集中使用常规的“do”循环,因为这在这里没有用。

所以有人可以帮我这个吗?

此代码基本上是对数据进行分组,并为该月的每个配置获得平均价格。

proc sql;

create table c.price1 as 
select 
configuration,
month,
mean(retail_price) as amount format = dollar7.2

from c.price
where 
configuration is not missing 
and month is not missing 
and retail_price is not missing
group by configuration, month;
quit;

数据:

Configuration   Month     Amount
1                  1    $370.00
1                  2    $365.00
1                  3    $318.00
1                  4    $355.00
1                  5    $350.00
1                  6    $317.40
1                  7    $340.00
1                  8    $335.00
1                  9    $297.00
1                 10    $325.00
1                 11    $320.00
1                 12    $286.65
2                  1    $320.00
2                  2    $315.00
2                  3    $287.86
2                  4    $305.00
2                  5    $300.00
2                  6    $263.76 

.......等等

1 个答案:

答案 0 :(得分:0)

将DIF功能与BY组处理结合使用。

Data want;
    Set have;
     By config;

      New_var = dif(amount);

      If first.config then new_var = .;
 Run;