我的工作是为公司分析部门提供数据,其中一部分是固定时间点提取的报表,这些报表的格式固定,每次机械化的修改参数→提取数据→复制粘贴,实在是繁琐。下面介绍一个我工作中使用kettle输出固定格式报表的例子,希望能帮到有需要的小伙伴们。
背景:
固定格式报表如表1,其中还有excel公式嵌套在里面,分析部门提供的原始模板如表2(其中为0和#DIV/0!的单元格中嵌套了公式):
表1
表2
遇到的难点:
1. 使用“表输出”,保证输出的数据是按表中B列相同顺序排列的;
2. 把“表输出”中对应报表公式单元格的数据,置为“NULL”。这是为了保证不覆盖报表模板公式。
我设计的转换如下:
表输入中添加SQL脚本,此脚本能够按报表中B列的顺序输出数据,并且对应报表模板有公式的单元格已经置为“null”输出如下:
表输出步骤没什么好说的,主要考验SQL能力,保证按报表中数据顺序导出。Microsoft Excel输出步骤,我是按如下配置的: