SAS/EG仪表板样式PDF报告合并多个表的建议

SAS/EG仪表板样式PDF报告合并多个表的建议,sas,enterprise-guide,Sas,Enterprise Guide,场景:存在一个数据集,其中包含按分组变量(例如区域)排序的各种变量。我希望将数据拆分并输出到“仪表板”样式的PDF 1-3页报告中,以显示分组变量的每个值(例如,城镇数据,按地区) 第一个页面将包含一个或两个简单的表格,其中包含一些我想强调的关键指标(例如,给定地区的几个城镇的列表,带有一些高级状态指标,使用一些字体/颜色格式来强调这些总体结果)。与dashboard外观类似,但没有KPI图形或类似的内容-只是一个带有一些关键值的简单的直接表格 以下1-2页将包含给定地区城镇的附加数据,显示方式

场景:存在一个数据集,其中包含按分组变量(例如区域)排序的各种变量。我希望将数据拆分并输出到“仪表板”样式的PDF 1-3页报告中,以显示分组变量的每个值(例如,城镇数据,按地区)

第一个页面将包含一个或两个简单的表格,其中包含一些我想强调的关键指标(例如,给定地区的几个城镇的列表,带有一些高级状态指标,使用一些字体/颜色格式来强调这些总体结果)。与dashboard外观类似,但没有KPI图形或类似的内容-只是一个带有一些关键值的简单的直接表格

以下1-2页将包含给定地区城镇的附加数据,显示方式与数据在源数据集中的显示方式类似(一些附加选定变量,较小字体)

设计报告模板/结构后,我希望使用它为我的源数据集输出PDF,每个变量值(例如,按区域)都有单独的PDF,PDF文件名包括区域ID。花式图形不是优先级

问题:

  • 假设这在SAS/EG中是可行的。有哪些方法可以做到这一点,例如PROC报告?EG菜单中的选项
  • 对刚开始学习SAS报告功能的人有什么建议吗
  • 您会推荐哪些资源/模板示例 当试图从基于Excel的报告方法转换为SAS EG/UPDATE到PDF方法时,需要考虑的事项是什么?
试图找出这样的东西与类似的混合仪表板加上Excel中的详细信息类型报告以及Excel与SAS路由的权衡相比的可行性。据我所知,SAS在快速转换/重组数据的能力方面具有优势,而在Excel中使用公式驱动的方法处理相对较大的数据集时,这将是一个棘手的问题

我有SAS编程经验和一些使用EG 5.1的经验。非常感谢

这是可行的。 有几种方法可以完成这项任务。我的做法是:

  • 创建您的报告模板。查看ODS标记、过程报告、过程表格、过程打印
  • 创建包含区域/城镇唯一组合的查找表
  • 创建将查找表作为输入的宏函数。宏将生成报告
ODS将允许您按进程(每页一个进程,或单页一组进程)分解报告。选择很多

下面是一个虚拟示例:

* 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;
希望对你有帮助,对吧

这是可行的。 有几种方法可以完成这项任务。我的做法是:

  • 创建您的报告模板。查看ODS标记、过程报告、过程表格、过程打印
  • 创建包含区域/城镇唯一组合的查找表
  • 创建将查找表作为输入的宏函数。宏将生成报告
ODS将允许您按进程(每页一个进程,或单页一组进程)分解报告。选择很多

下面是一个虚拟示例:

* 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;

希望对您有所帮助

目前这并不适合此网站。它可能会在一个更具论坛风格的网站上运行。这个网站需要一个更简洁的问题-你真的需要几页纸来回答这个问题。我想说的是,你应该用谷歌搜索一些,在SAS仪表盘上找到一些论文(它们是大量的),并尝试实现它们——然后回来问一些关于实现的具体问题,特别是那些伴随着代码和数据的问题。目前,这不太适合这个网站。它可能会在一个更具论坛风格的网站上运行。这个网站需要一个更简洁的问题-你真的需要几页纸来回答这个问题。我想说的是,你应该在谷歌上搜索一些,在SAS仪表盘上找到一些文件(它们是大量的),并尝试实现它们——然后回来问一些关于实现的具体问题,特别是带有代码和数据的。感谢您确认直觉和关于探索方向的建议谢谢您确认直觉和关于探索方向的建议