导出到excel自动把数字最前边的0去掉了_用SAS实现报表自动化
从事数据分析岗,日常工作中一块重要内容就是发送报告。而搭建自动化报表体系,则是最理想的情况了,替代了周期性的手工劳动,能实现工作量质的提升。本人使用分析工具是SAS,简要提炼了自动报表的实现步骤,能实现自动化:SAS脚本运行+Excel刷新+邮件发送。 1、首先,使用SAS,运行生成原始access文件 第一步,当然是要手工做出来报表的主体部分了,我使用SAS完成数据库的取数和处理输出,由于我使用
从事数据分析岗,日常工作中一块重要内容就是发送报告。而搭建自动化报表体系,则是最理想的情况了,替代了周期性的手工劳动,能实现工作量质的提升。本人使用分析工具是SAS,简要提炼了自动报表的实现步骤,能实现自动化:SAS脚本运行+Excel刷新+邮件发送。
1、首先,使用SAS,运行生成原始access文件
第一步,当然是要手工做出来报表的主体部分了,我使用SAS完成数据库的取数和处理输出,由于我使用数据较大,一般导出的是Microsoft Access文件。
2、其次,编辑好透视表版Excel
处理好了数据并导出后,接下来就用Excel,插入透视表,链接所导出的access文件,借助Excel格式上和透视表计算公式的灵活性,制作出更多样和好看的报表。至此,初步报告完成。但是为了实现自动化,需要多做两步:
① 取消勾选透视表中的:允许后台刷新;
② 编写VBA的一个主过程,加上以下功能:
数据全部刷新;ThisWorkbook.RefreshAll
加上另存为语句,本Excel另存为新文件。
另存的VBA代码如下:
ActiveWorkbook.Saved = True
ChDir <此处是路径>
ActiveWorkbook.SaveAs Filename:=<此处是文件名> _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
3、编写Python脚本,调用VBA中的主过程。
注意:Excel数据全部刷新、生成新的Excel文件,都在VBA所在的主程序中完成。
4、编写python脚本,发送邮件。
5、编写批处理bat文件,按逻辑顺序一一调用操作。
使用批处理文件(.dat),汇总操作:运行SAS脚本->调用python刷新Excel->调用python发送邮件。最后双击dat文件,即可一步到位。
更多推荐




所有评论(0)