0

我使用自定义选项列表“MM”、“YYYY”和“Q”创建了一个参数。当用户选择一个时,我计划将我的计算字段用作 extract() 函数的参数,如下所示:

extract(${period}, date)

我试图省略引号,包括它们,但没有任何效果,说“这个函数中的至少一个参数没有正确的类型。”

我想让什么成为可能?

4

1 回答 1

0

从我所做的小测试来看,它看起来extract需要一个字符串文字作为它的第一个参数。这可能是一个错误,值得引起亚马逊的注意。

作为一种解决方法,您可以使用ifelse

ifelse(
  ${period} = 'MM', extract('MM', {Date}),
  ${period} = 'YYYY', extract('YYYY', {Date}),
  extract('Q', {Date})
)

这实际上有点好,因为它使您有机会使过滤器控件更具可读性(例如Month, Year, Quarter)然后执行

ifelse(
  ${period} = 'Month', extract('MM', {Date}),
  ${period} = 'Year', extract('YYYY', {Date}),
  extract('Q', {Date})
)

这适用于您的示例,因为您的分组选项定义明确,但是,它不适用于动态的、较少理解的控件集。

于 2019-07-19T18:12:56.407 回答