Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 在pentaho di中将变量设置为今天和昨天_Variables_Pentaho - Fatal编程技术网

Variables 在pentaho di中将变量设置为今天和昨天

Variables 在pentaho di中将变量设置为今天和昨天,variables,pentaho,Variables,Pentaho,我正在pentaho di中创建一个转换,以从google analytics中提取数据。我需要在“查询定义”中将开始日期和结束日期设置为昨天和今天。我知道这可以通过创建两个变量来实现,例如${todsy},${Dayed}。但是,我不知道如何设置它们,以便在每次运行时动态更改值。你知道怎么做吗 谢谢 我可以想出一个简单的方法来做到这一点。首先,不能在同一个转换中声明和使用变量。我建议您以以下方式处理此问题: 在这个转换之前创建一个转换,比如“set variables transformati

我正在pentaho di中创建一个转换,以从google analytics中提取数据。我需要在“查询定义”中将开始日期和结束日期设置为昨天和今天。我知道这可以通过创建两个变量来实现,例如${todsy},${Dayed}。但是,我不知道如何设置它们,以便在每次运行时动态更改值。你知道怎么做吗

谢谢


我可以想出一个简单的方法来做到这一点。首先,不能在同一个转换中声明和使用变量。我建议您以以下方式处理此问题:

  • 在这个转换之前创建一个转换,比如“set variables transformation”。在此转换中,您将设置变量
  • 您可以使用
    Get System Info
    步骤将今天和昨天的日期设置为变量。使用
    copy rows to result
    步骤将这些行传递给下一个转换
  • 在下一个转换中,即您已附加屏幕截图的转换中,使用
    Get Variables
    步骤,并在输入步骤中使用这些变量。也可以使用
    从结果中获取行
    步骤
  • 您现在不必担心日期,因为日期将被生成,并且您的变量将动态地获取值

    如果您想了解有关如何将值从一个转换传递到另一个转换的更多信息,可以查看本文:


    希望有帮助

    我自己花了一段时间才解决这个问题,我最终的解决方法如下:

    我创建了一个转换(称为“set formatted_today variable”),该转换包含两个对象:

  • 转换包含一个“表输入”对象,其查询如下:

    选择今日格式化的字符(当前时间戳'YYYY-MM-DD-HH-MI')

  • 我的“表输入”的输出将转到“设置变量”对象,您可以使用“获取字段”按钮将查询中命名的字段连接到要设置的变量。在本例中,我的字段被称为“formatted_today”,变量也是如此

  • 在我的主要工作中,我有一个“set session variables”对象,它创建了我的“formatted_today”变量

    紧接着,我调用我的“set-formatted\u-today变量”转换


    在任何需要此变量的地方,我都会在文本中插入
    ${formatted_today}
    ,为此,您必须使用作业,添加第一个转换,并在其中使用 获取系统信息步骤,然后将今天和昨天的日期添加为变量,并链接到设置变量步骤。将变量范围设置为父作业, 在第二个作业中,使用**获取变量**