在Pentaho水壶中使用数据库列输出文件名中的值

时间:2016-02-29 08:07:19

标签: pentaho kettle pentaho-spoon

我希望在输出文件名中使用数据库列值。 例: 从进程中选择max(id); 假设上述查询的结果为111 - 希望在输出文件名中使用此值,如下所示。

输出文件名:file_111

我怎样才能在pentaho水壶中实现这一目标? 请指教。

2 个答案:

答案 0 :(得分:1)

请按照以下步骤操作:

第1步:表输入: - 从进程中选择max(id)作为max_id;

第2步:修改后的Java脚本值: - 在此步骤中输入以下代码。

eg:- var dummy= 'C:/Users/Venkatesh/Desktop/file_'+ max_id ;

在底部ADD字段名称的同一步骤中虚拟,类型为字符串替换值'字段名称'或者'重命名为' N

第3步:文本文件输出: -

    select the **Add filenames to result**
    **file name field** => dummy

最后执行并查看结果..

答案 1 :(得分:1)

根据您要创建的文件类型,您只需在流中创建一个包含文件名的列,然后使用某些输出步骤提供的Accept file name from field - 函数。例如,文本文件输出确实具有此功能,遗憾的是XML输出没有。

创建文件名本身就可以,例如使用javascript步骤,或将concat fields步骤与Add constants步骤一起使用。