0

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

select * from ${table_name}

当我运行转换时,我传入

table_name.

这行得通。

但是我的新要求是:将日期作为变量传递,然后根据月份和年份从日期构造一个表名例如:如果我传入2012-01-31,我想要这样的sql:

select * from xxx_201201_v

我不能使用这样的 substr:

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

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

4

1 回答 1

0

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

从 ? 中选择 *

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

于 2013-11-08T22:42:58.070 回答