我使用自定义选项“ MM”,“ YYYY”和“ Q”创建了一个参数。当用户选择一个时,我计划将计算字段用作提取()函数的参数,如下所示:
extract(${period}, date)
我试图省略引号,包括引号,但没有任何用,说:“此函数中至少有一个参数没有正确的类型。”
我想实现什么?
答案 0 :(得分: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})
)
这适用于您的示例,因为您的分组选项定义明确,但是不适用于动态的,理解程度较低的控件集。