proc报表中的compute语句如何工作?

时间:2019-04-30 00:59:22

标签: sas report

这是一个主要问题。 我要申请 if first.sex then Count + 1; Count + 2; 关于proc报告的实践,所以我编写如下代码:

Proc report data = sashelp.class;
  column name sex age height weight count;
  define name/display;
  define sex/group;
  define age/display;
  define height/display;
  define weight/display;
  define count/computed;
  compute before sex;
    cnt = cnt + 1;
  endcomp;
  compute count;
    cnt + 2;
    count = cnt;
  endcomp;
run;

但是,它对Count的第一个值给出了5而不是3,这是我期望的。

我尝试这样编码:

proc sort data = sashelp.class out = test;
  by Sex Name;
run;

data test;
  set;
  by Sex;

  if first.Sex then Count + 1;
  Count + 2;
  if first.Sex then Count + 2;
run;

它产生相同的结果,这对我来说是错误的。

我如何在proc报告中获得Count的计算结果,就像 if first.sex then Count + 1; Count + 2; 在数据步骤中?

0 个答案:

没有答案