场景:有一个数据集,其中包含按分组变量(例如区域)排序的各种变量。我想将数据拆分并输出到“仪表板”样式的PDF 1-3页报告中,用于分组var的每个值(例如,城镇数据,按地区)。
第一页将包含一个或两个简单的表格,其中包含一些我想要突出显示的关键指标(例如,给定区域中的几个城镇的列表,其中包含一些高级状态指示符,使用某些字体/颜色格式来突出显示这些总体结果)。类似于仪表板外观,但没有KPI图形或类似的东西 - 只是一个简单的表,带有一些关键值。
以下1-2页将包含给定区域中城镇的附加数据,显示类似于数据在源数据集中的显示方式(一些其他选定变量,较小字体)。
一旦设计了报告模板/结构,我想用它来输出我的源数据集的PDF,为变量的每个值(例如按区域)输出单独的PDF,PDF文件名包括区域ID。花哨的图形不是优先考虑的事。
问题:
试图弄清楚这样的可行性与Excel中类似的混合仪表板加详细类型报告的对比,以及Excel与SAS路线的权衡。我的理解是SAS在快速转换/重组数据方面提供了优势,这对于使用相对较大的数据集的Excel中的公式驱动方法而言会非常棘手。
我有使用SAS编程的经验和使用EG 5.1的一些经验。非常感谢!
答案 0 :(得分:2)
右,
这是可行的。 有几种方法可以完成这项任务。我的方式是:
ODS将允许您通过Procs中断报告(每页一个proc,或单页中的一组proc)。选项很多。
这是一个虚拟的例子:
* Not necessary ;
data _null_;
wd = pathname('work');
call symputx('dir',wd);
put wd;
run;
* create lookup table;
proc sql;
create table lkup as select distinct sex from sashelp.class;
quit;
* create macro definition;
%macro report(gender);
ods pdf file="&dir./&gender..pdf" ;
title Report for group &gender.;
proc print data=sashelp.class;
where sex="&gender";
run;
proc means data=sashelp.class mean median;
var weight height;
where sex ="&gender";
ods pdf close;
%mend;
* invoke macro using lookup table to generate reports;
data _null_;
set lkup;
call execute('%report('||sex||')');
run;
希望有所帮助