0

我需要生成一些报告,并且我总是在报告过程中挣扎以获得所需的结果,而不会过多地弄乱初始数据集,这需要花费大量时间。

数据集的形式如下:

ID  VAR1 VAR2 VAR3 
 1   1    2    3 
 1   4    5    6
 2   7    8    9
 2   10  11   12

输出应该是:

ID    VAR1
       VAR2
        VAR3

1     1
       2
        3

      4
       5
        6

2     7 
       8
        9

     10
      11
       12

有没有使用 proc 报告生成输出的好方法(即有效)?因为我看到的唯一方法是在 ID 变量中手动创建空白字符并手动创建带有变量的列并大量使用 put 函数来创建空格。proc 报告的唯一用途是通过使用排序变量在主题之间创建空格。花费的时间是疯狂的。我试图找到一些好的资源,但没有成功。

我将不胜感激任何建议。谢谢。

4

1 回答 1

1

听起来您只想使用数据步骤来生成“报告”。

这是一个大纲:

data _null_;
  set have;
  by id;
  array cols var1-var3;
  if first.id then put @1 id @;
  do index=1 to dim(cols);
    put @5+index cols[index] ;
  end;
  put;
run;

结果:

1    1
      2
       3

     4
      5
       6

2    7
      8
       9

     10
      11
       12

添加 FILE 语句以将输出定向到其他位置。例如,用于FILE PRINT;将报告发送到列表输出而不是 LOG。

于 2021-08-15T15:18:47.470 回答