在pentaho中动态构造表名

时间:2013-11-08 15:15:23

标签: pentaho

我正在进行pentaho转换,我有一个表输入步骤。我的要求是将表输入步骤作为变量动态传递,这是通过执行以下操作实现的:

select * from ${table_name}

当我运行转换时,我传入

的值
table_name.

这很有效。

但我的新要求是:将日期作为变量传递,然后根据月份和年份从日期构建表名称 所以例如:如果我在2012-01-31通过,我想要一个像这样的SQL:

select * from xxx_201201_v

我不能使用这样的子句:

select * from xxx_substr(${input_date} ,0,4)

所以我很困惑如何做到这一点

1 个答案:

答案 0 :(得分:0)

您可以使用“获取变量”步骤,以便在字段中显示日期。然后使用步骤操作字符串,然后将字段传递给表输入步骤,如下所示

从*

中选择*

当然,您应该激活表输入步骤的选项以从上一步获取字段。如果您有2012-01-31,您可以使用查找和替换步骤找到201201,找到“ - ”并将其替换为空,然后剪切字符串,使您拥有前6位数字。