我可以直接将字符串参数作为参数传递给Quicksight函数吗?

时间:2019-07-19 16:10:18

标签: amazon-web-services parameters arguments amazon-quicksight

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

extract(${period}, date)

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

我想实现什么?

1 个答案:

答案 0 :(得分:0)

经过我的小测试,看起来extract要求将字符串文字作为其第一个参数。这可能是一个错误,可能值得引起亚马逊的注意。

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

解决此问题
ifelse(
  ${period} = 'MM', extract('MM', {Date}),
  ${period} = 'YYYY', extract('YYYY', {Date}),
  extract('Q', {Date})
)

这实际上很不错,因为它使您有机会使过滤器控件更具可读性(例如MonthYearQuarter),然后这样做

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

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