如何在 getFields()(Google Data Studio 社区连接器)中定义的计算字段中使用参数?
How to use a Parameter in calculated field defined in getFields() (Google Data Studio Community Connector)?
为了获得从今天算起的正确日期差异,我需要在 today()
函数中指定时区。
我可以轻松地在用户界面中添加一个计算字段,但是当它在 getFields()
函数的连接器架构中定义时,我找不到在计算字段中使用该参数的方法。
如本例(不起作用),其中 timezone
是一个参数,在 getConfig()
:
中定义
fields.newDimension()
.setId('daysToArrival')
.setDescription('Days from today to arrival')
.setFormula('DATE_DIFF(arrival,TODAY(timezone))')
.setType(types.NUMBER)
数据源中适当出现的参数图像:
显然参数 timezone
在 request
中正确传递:
{ fields: [ { name: 'arrival' }, { name: 'number' }, { name: 'status' } ],
configParams:
{ timezone: '+1',
dataset: 'booking',
server: 'sky-eu1'},
dateRange: { endDate: '2021-04-12', startDate: '2021-03-16' },
scriptParams: { lastRefresh: '1618343639295' },
dimensionsFilters: [ [ [Object] ] ] }
@MinhazKazi 在评论中提出的解决方案是正确的,但他忘记了一些撇号。
.setFormula('DATE_DIFF(arrival, TODAY("' + request.configParams.timezone + '"))')
为了获得从今天算起的正确日期差异,我需要在 today()
函数中指定时区。
我可以轻松地在用户界面中添加一个计算字段,但是当它在 getFields()
函数的连接器架构中定义时,我找不到在计算字段中使用该参数的方法。
如本例(不起作用),其中 timezone
是一个参数,在 getConfig()
:
fields.newDimension()
.setId('daysToArrival')
.setDescription('Days from today to arrival')
.setFormula('DATE_DIFF(arrival,TODAY(timezone))')
.setType(types.NUMBER)
数据源中适当出现的参数图像:
显然参数 timezone
在 request
中正确传递:
{ fields: [ { name: 'arrival' }, { name: 'number' }, { name: 'status' } ],
configParams:
{ timezone: '+1',
dataset: 'booking',
server: 'sky-eu1'},
dateRange: { endDate: '2021-04-12', startDate: '2021-03-16' },
scriptParams: { lastRefresh: '1618343639295' },
dimensionsFilters: [ [ [Object] ] ] }
@MinhazKazi 在评论中提出的解决方案是正确的,但他忘记了一些撇号。
.setFormula('DATE_DIFF(arrival, TODAY("' + request.configParams.timezone + '"))')