我正在进行pentaho转换,我有一个表输入步骤。我的要求是将表输入步骤作为变量动态传递,这是通过执行以下操作实现的:
select * from ${table_name}
当我运行转换时,我传入
的值table_name.
这很有效。
但我的新要求是:将日期作为变量传递,然后根据月份和年份从日期构建表名称 所以例如:如果我在2012-01-31通过,我想要一个像这样的SQL:
select * from xxx_201201_v
我不能使用这样的子句:
select * from xxx_substr(${input_date} ,0,4)
所以我很困惑如何做到这一点
答案 0 :(得分:0)
您可以使用“获取变量”步骤,以便在字段中显示日期。然后使用步骤操作字符串,然后将字段传递给表输入步骤,如下所示
从*
中选择*当然,您应该激活表输入步骤的选项以从上一步获取字段。如果您有2012-01-31,您可以使用查找和替换步骤找到201201,找到“ - ”并将其替换为空,然后剪切字符串,使您拥有前6位数字。