SAS/EG 合并多个表格的仪表板式 PDF 报告的建议
Suggestions for SAS/EG dashboard-style PDF report combining several tables
场景:有一个数据集,其中包含按分组变量(例如区域)排序的各种变量。我想将数据拆分并输出到“仪表板”样式的 PDF 1-3 页报告中,用于分组 var 的每个值(例如,按地区划分的城镇数据)。
第一页将包含一个或两个简单的 tables,其中包含一些我想强调的关键指标(例如,给定地区的几个城镇列表以及一些高级状态指标,使用一些 font/color 格式以突出显示这些总体结果)。类似于仪表板外观,但没有 KPI 图形或类似的东西 - 只是一个简单明了的 table 和一些关键值。
接下来的 1-2 页将包含给定区域中城镇的附加数据,显示方式类似于数据在源数据集中的显示方式(一些额外的选定变量,较小的字体)。
设计报告 template/structure 后,我想用它为我的源数据集输出 PDF,每个变量值都有单独的 PDF(例如按区域),PDF 文件名包括地区编号。花哨的图形不是优先事项。
问题:
- 假设这在 SAS/EG 中是可行的。有哪些方法可以做到这一点,例如过程报告? EG 菜单中的选项?
- 对刚开始学习 SAS 报告功能的人有什么建议吗?
- Resources/template 你会推荐的例子?
- 尝试从基于 Excel 的报告方法过渡到 SAS EG/输出到 PDF 方法时需要考虑的事项?
试图弄清楚这样的事情与 Excel 中类似的混合仪表板加详细信息类型的报告相比有多可行,以及 Excel 与 SAS 路由的权衡.我的理解是 SAS 在快速 transform/restructure 数据的能力方面具有优势,在 Excel 中使用相对较大的数据集的公式驱动方法会很棘手。
我有 SAS 编程经验和一些使用 EG 5.1 的经验。非常感谢!
对了,
这是可行的。
有几种方法可以完成此任务。我的做法是:
- 创建您的报告模板。查看 ODS 标记、Proc 报告、Proc 制表、Proc 打印。
- 创建包含 regions/towns
的唯一组合的查找 table
- 创建一个将查找 table 作为输入的宏函数。宏将生成报告。
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;
希望对您有所帮助
场景:有一个数据集,其中包含按分组变量(例如区域)排序的各种变量。我想将数据拆分并输出到“仪表板”样式的 PDF 1-3 页报告中,用于分组 var 的每个值(例如,按地区划分的城镇数据)。
第一页将包含一个或两个简单的 tables,其中包含一些我想强调的关键指标(例如,给定地区的几个城镇列表以及一些高级状态指标,使用一些 font/color 格式以突出显示这些总体结果)。类似于仪表板外观,但没有 KPI 图形或类似的东西 - 只是一个简单明了的 table 和一些关键值。
接下来的 1-2 页将包含给定区域中城镇的附加数据,显示方式类似于数据在源数据集中的显示方式(一些额外的选定变量,较小的字体)。
设计报告 template/structure 后,我想用它为我的源数据集输出 PDF,每个变量值都有单独的 PDF(例如按区域),PDF 文件名包括地区编号。花哨的图形不是优先事项。
问题:
- 假设这在 SAS/EG 中是可行的。有哪些方法可以做到这一点,例如过程报告? EG 菜单中的选项?
- 对刚开始学习 SAS 报告功能的人有什么建议吗?
- Resources/template 你会推荐的例子?
- 尝试从基于 Excel 的报告方法过渡到 SAS EG/输出到 PDF 方法时需要考虑的事项?
试图弄清楚这样的事情与 Excel 中类似的混合仪表板加详细信息类型的报告相比有多可行,以及 Excel 与 SAS 路由的权衡.我的理解是 SAS 在快速 transform/restructure 数据的能力方面具有优势,在 Excel 中使用相对较大的数据集的公式驱动方法会很棘手。
我有 SAS 编程经验和一些使用 EG 5.1 的经验。非常感谢!
对了,
这是可行的。 有几种方法可以完成此任务。我的做法是:
- 创建您的报告模板。查看 ODS 标记、Proc 报告、Proc 制表、Proc 打印。
- 创建包含 regions/towns 的唯一组合的查找 table
- 创建一个将查找 table 作为输入的宏函数。宏将生成报告。
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;
希望对您有所帮助