如何在pentaho cde的简单参数上将当前月份设置为默认值?

时间:2019-08-19 12:42:27

标签: pentaho pentaho-cde pentaho-ctools

我有一个简单的参数,我应该通过当前月的第一天。 我应该在财产价值上写些什么?

enter image description here

2 个答案:

答案 0 :(得分:0)

据我所知,属性文件不能包含在使用该值时将在运行时计算的公式。

您可以做的是,在您的工作开始时有一个KTR,它将为您设置此变量。

您的KTR应该看起来像这样:

enter image description here

在“根作业”中设置参数date_mois(名称相同),该变量将向下传递到后续的KTR / JOB调用中(除非未选中,否则为默认值)。

答案 1 :(得分:0)

您可以创建一个自定义参数,该参数允许您将其设置为Javascript函数的返回值:

function(){
  var now = new Date();
  return now.getMonth() + 1;
}

加载仪表板时,将计算该参数,该参数的整数值为1到12。

如果您希望参数将本月第一天的日期字符串作为值,则可以使用

function(){
  var now = new Date();
  var y = now.getFullYear();
  var m = now.getMonth()+1;
  m = (m<10 ? '0' : '') + m;
  var d = '01';
  return y + '-' + m + '-' + d;
}

这将以日期yyyy-MM-dd的形式返回当前月第一天的日期。