我使用自定义选项列表“MM”、“YYYY”和“Q”创建了一个参数。当用户选择一个时,我计划将我的计算字段用作 extract() 函数的参数,如下所示:
extract(${period}, date)
我试图省略引号,包括它们,但没有任何效果,说“这个函数中的至少一个参数没有正确的类型。”
我想让什么成为可能?
我使用自定义选项列表“MM”、“YYYY”和“Q”创建了一个参数。当用户选择一个时,我计划将我的计算字段用作 extract() 函数的参数,如下所示:
extract(${period}, date)
我试图省略引号,包括它们,但没有任何效果,说“这个函数中的至少一个参数没有正确的类型。”
我想让什么成为可能?
从我所做的小测试来看,它看起来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})
)
这适用于您的示例,因为您的分组选项定义明确,但是,它不适用于动态的、较少理解的控件集。