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

how to set current month as default value on simple parameter on pentaho cde?

我有一个简单的参数,我应该在其中传递当月的第一天。 我应该在 属性 值上写什么?

据我所知,属性文件不能有一个公式可以在您使用该值时计算 运行 时间。

你可以做的是,在你的工作开始时有一个 KTR 会为你设置这个变量。

你的 KTR 应该是这样的:

在您的 Root Job 中设置参数 date_mois(完全相同的名称),此变量将传递给后续的 KTR / JOB 调用(这是默认设置,除非未选中)。

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

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

当您加载仪表板时,将计算该参数并将具有 1 到 12 之间的整数值。

如果您希望参数的值是本月第 1 天的日期字符串,您可以改用

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;
}

这会将 return 日期作为当月第 1 天的 yyyy-MM-dd 格式的字符串。