Proc SQL运行总计

时间:2019-01-04 16:47:53

标签: sas

我正在SAS EG中构建一个流程,当我需要运行总计时遇到了一个症结。这在Excel中很容易做到,但是我的表长22M记录。我有VBA经验,但没有Proc SQL。有人可以告诉我如何逐项计算总金额吗?数据按市场/细分/项目/月排序。

谢谢 杰夫

MyData

1 个答案:

答案 0 :(得分:1)

您的层次结构是市场/细分/项目,也许从这个问题出发,可以假定一个项目在所有市场和细分中都是唯一的。

在DATA步骤中,最简单的运行总计。您将要使用在步骤具有first.语句时准备的BY个自动变量。

data want;
  set have;
  by Market Segment Item Month; * add month to make sure incoming data is ordered timewise, if not an error will appear in the log;

  if first.Item then RunningDollars = 0;
  RunningDollars + Dollars;  * The + syntax here is a `SUM` statement that causes the RunningDollars variable to be automatically retaine, meaning the value is available for the next record.
run;