Pentaho 水壶勺日期操作

Posted

技术标签:

【中文标题】Pentaho 水壶勺日期操作【英文标题】:Pentaho Kettle Spoon Date manipulation 【发布时间】:2013-01-10 21:49:24 【问题描述】:

我正在使用 Pentaho Spoon 进行一些转换。我正在使用“表格输入”并加入多个表格以获得最终输出表格。

我需要达到:

SELECT COUNT(distinct ID)
FROM TBLA join TBLB ON TBLA.ID=TBLB.ID
WHERE
  TBLA.ID=334
  AND TBLA.date = '2013-1-9'
  AND TBLB.date BETWEEN '2012-11-15' AND '2013-1-9';

我手动插入“2012-11-15”,但我使用Get System Data 插入“2012-1-9”。我正在使用 1 Get System Data

我的查询是:

SELECT COUNT(distinct ID)
FROM TBLA join TBLB ON TBLA.ID=TBLB.ID
WHERE
  TBLA.ID=334
  AND TBLA.date='?'
  AND TBLB.date BETWEEN '2012-11-15' AND '?';

我在表格输入中收到错误消息No value specified for parameter 2

任何建议将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

简单的这个;您需要“复制”系统日期。所以在“get system data”中再加一行叫“date2”什么的,和第一行一样,然后填第二个参数或者?

或者只需将查询更改为“2012-11-15”和 TBLA.date 之间 那么你不需要第二个参数

【讨论】:

感谢您的回复。在“获取系统数据”步骤中,我看到的只是固定日期选项,例如昨天日期、今天日期等。如何输入自己的手动日期,例如“2012-12-3”或“2012-12-4”等作为查询的输入日期? 只需使用“添加常量”步骤即可。 我删除了“获取系统信息”步骤,并使用“添加常量”步骤直接输入表格。所以基本上我的表只从“添加常量”步骤获取输入,名称为“日期1”,类型为“日期”,格式为“yyyy-MM-dd”,值为“2013-01-01”。 2013-01-01 应该替换查询日期 'select ID from TableA where date= ?;但是当我运行转换时,我的输出中什么也看不到。有什么建议吗?我的查询之一也是“从 TableA 中选择 ID,日期在哪里?和 ?'对此也有什么建议吗?非常感谢。 进入步骤的行数必须与查询中的 ? 一样多。您还必须勾选“使用上一步中的数据”选项并选择相关步骤。如果所有其他方法都失败,则预览该步骤中的数据以确保它正确输入。 现在我了解了多个“?”的多个输入价值观。我仍然坚持向查询提供持续输入。我正在使用“添加常量”步骤来提供名称(NewDate)、类型(日期)、格式(yyyy-MM-dd)和值 2013-01-02。然后我将它传递给“获取系统信息”步骤,类型为“以前的工作输入结果”。但我仍然没有看到任何输出。有什么建议吗? :)【参考方案2】:

我个人更喜欢“获取系统信息”/“添加常量”步骤的模式,以创建包含多列的一行,这些列输入到数据库连接步骤中。然后将查询中的参数替换为列而不是行,并且可以多次指定一列。

【讨论】:

以上是关于Pentaho 水壶勺日期操作的主要内容,如果未能解决你的问题,请参考以下文章

水壶 - JSON 输入在无法解析的日期失败

如何使用 pentaho 水壶查看 http 标头

克隆和构建 Pentaho 水壶

使用 pentaho 删除文件

Kettle Pentaho 通过最新数据进行备份转换

使用 javascripting 在 Pentaho 中更改日期格式