在 pentaho di 中将变量设置为今天和昨天
set variable as today and yesterday in pentaho di
我正在 pentaho di 中创建转换以从 google 分析中提取数据。我需要在 "Query Definition" 中将开始日期和结束日期设置为昨天和今天。我知道这可以通过创建两个变量来完成,例如${托德西},${昨天}。但是,我不知道如何将它们设置为在每个 运行 时动态更改值。知道怎么做吗?
谢谢,
我能想到一个简单的方法来做到这一点。首先,您不能在同一个转换中声明和使用变量。我建议您通过以下方式解决此问题:
- 在此之前创建一个转换,比如 "set variables transformation"。在此转换中,您将设置变量。
- 您可以使用
Get System Info
步骤将今天和昨天的日期设置为变量。使用 copy rows to result
步骤将这些行传递到下一个转换。
- 在下一个转换中,也就是您附上屏幕截图的转换中,使用
Get Variables
步骤并在输入步骤中使用这些变量。或者您也可以使用 Get rows from result
步骤。
您现在无需担心日期,因为系统会生成日期并且您的变量会动态获取值。
如果您想详细了解如何将值从一种转换传递到另一种转换,可以查看这篇文章:
https://anotherreeshu.wordpress.com/2014/12/23/using-copy-rows-to-result-in-pentaho-data-integration/
希望对您有所帮助!
我自己解决这个问题花了一些时间,我最终的解决方法如下:
我创建了一个转换(称为 'set formatted_today variable')转换包含两个对象:
转换包含一个 'table input' 对象,其查询如下:
select to_char(current_timestamp, 'YYYY-MM-DD-HH-MI') as formatted_today
我的 'table input' 的输出转到 'set variables' 对象,您可以使用“获取字段”按钮将您在查询中命名的字段连接到您要设置的变量。在这种情况下,我的字段称为 'formatted_today',我的变量也是如此。
在我的主要工作中,我有一个 'set session variables' 对象来创建我的 'formatted_today' 变量。
紧接着,我调用我的 'set formatted_today variable' 转换
任何需要这个变量的地方我都会在文本中插入${formatted_today}
为此,您必须使用作业,添加第一个转换并在其中使用
获取系统信息步骤然后将今天和昨天的日期添加为变量,link到设置变量步骤。设置变量范围为parent job,
在第二份工作中使用 **获取变量 **。
我正在 pentaho di 中创建转换以从 google 分析中提取数据。我需要在 "Query Definition" 中将开始日期和结束日期设置为昨天和今天。我知道这可以通过创建两个变量来完成,例如${托德西},${昨天}。但是,我不知道如何将它们设置为在每个 运行 时动态更改值。知道怎么做吗?
谢谢,
我能想到一个简单的方法来做到这一点。首先,您不能在同一个转换中声明和使用变量。我建议您通过以下方式解决此问题:
- 在此之前创建一个转换,比如 "set variables transformation"。在此转换中,您将设置变量。
- 您可以使用
Get System Info
步骤将今天和昨天的日期设置为变量。使用copy rows to result
步骤将这些行传递到下一个转换。 - 在下一个转换中,也就是您附上屏幕截图的转换中,使用
Get Variables
步骤并在输入步骤中使用这些变量。或者您也可以使用Get rows from result
步骤。
您现在无需担心日期,因为系统会生成日期并且您的变量会动态获取值。
如果您想详细了解如何将值从一种转换传递到另一种转换,可以查看这篇文章: https://anotherreeshu.wordpress.com/2014/12/23/using-copy-rows-to-result-in-pentaho-data-integration/
希望对您有所帮助!
我自己解决这个问题花了一些时间,我最终的解决方法如下:
我创建了一个转换(称为 'set formatted_today variable')转换包含两个对象:
转换包含一个 'table input' 对象,其查询如下:
select to_char(current_timestamp, 'YYYY-MM-DD-HH-MI') as formatted_today
我的 'table input' 的输出转到 'set variables' 对象,您可以使用“获取字段”按钮将您在查询中命名的字段连接到您要设置的变量。在这种情况下,我的字段称为 'formatted_today',我的变量也是如此。
在我的主要工作中,我有一个 'set session variables' 对象来创建我的 'formatted_today' 变量。
紧接着,我调用我的 'set formatted_today variable' 转换
任何需要这个变量的地方我都会在文本中插入${formatted_today}
为此,您必须使用作业,添加第一个转换并在其中使用 获取系统信息步骤然后将今天和昨天的日期添加为变量,link到设置变量步骤。设置变量范围为parent job, 在第二份工作中使用 **获取变量 **。