自定义过程报告
Customizing proc report
我需要生成一些报告,并且我总是在报告过程中苦苦挣扎以获得所需的结果,同时又不会对初始数据集造成过多的干扰,这会花费很多时间。
数据集的形式如下:
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 报告的唯一用途是通过使用排序变量在主题之间创建空白。它花费的时间是疯狂的。我试图找到一些很好的资源,但没有成功。
如有任何建议,我将不胜感激。谢谢
听起来您只想使用数据步骤来生成您的“报告”。
这是一个大纲:
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。
我需要生成一些报告,并且我总是在报告过程中苦苦挣扎以获得所需的结果,同时又不会对初始数据集造成过多的干扰,这会花费很多时间。
数据集的形式如下:
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 报告的唯一用途是通过使用排序变量在主题之间创建空白。它花费的时间是疯狂的。我试图找到一些很好的资源,但没有成功。
如有任何建议,我将不胜感激。谢谢
听起来您只想使用数据步骤来生成您的“报告”。
这是一个大纲:
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。