如何在Pentaho 9.3 PDI中计算列总和并输出为Excel新字段
在Pentaho 9.3 PDI中计算Salary整列总和并输出到Excel的解决方案
问题原因
公式组件里的sum([Salary])仅针对单条记录计算,本质是取当前记录的Salary值,无法实现跨记录的整列聚合求和,必须用聚合类组件完成这类统计。
具体实现步骤
步骤1:计算整列Salary的总和
使用Group by组件完成整列聚合:- 将
Group by组件拖到转换画布,把数据源输出连接到该组件 - 双击打开配置窗口:
- 分组字段:留空(无需分组,直接计算整列总和)
- 聚合字段:添加一条配置:
- 目标字段名:自定义为
Total_Salary - 源字段:选择
Salary - 聚合类型:选择
Sum
- 目标字段名:自定义为
- 点击确定保存配置
- 将
步骤2:将总和合并到原数据集(可选)
如果需要原数据的每条记录都携带Total_Salary字段,按以下操作:- 在
Group by组件后添加Copy rows to result组件,把总和数据存入结果集 - 在原数据源的输出路径后添加
Get rows from result组件,读取刚才的总和数据 - 把原数据源输出和
Get rows from result的输出都连接到Join rows (cartesian)组件,每条原记录会和总和记录做笛卡尔关联,得到每条记录都包含Total_Salary的数据集
- 在
步骤3:输出到Excel文件
拖拽Microsoft Excel Output组件到画布,连接处理后的数据集:- 配置Excel文件的保存路径、工作表名称
- 在字段选项卡中,添加需要输出的字段(包括原业务字段和
Total_Salary) - 按需设置其他输出参数(如是否覆盖现有文件、是否生成表头),完成后点击确定
内容的提问来源于stack exchange,提问作者Abhi Siv
相关产品推荐
相关产品推荐

