【发布时间】:2020-02-14 21:19:47
【问题描述】:
我已经按照Community Connector Codelab 创建了一个有效的社区连接器,但是当它被选为 datastudio 中的数据源时,如何让它具有“日期范围维度”?
这是我的数据源的样子(没有“日期范围维度”):
以下是具有“日期范围维度”的数据源示例:
我不明白我错过了什么。连接器从 getFields() 中返回日期维度
fields.newDimension()
.setId('date_created')
.setType(types.YEAR_MONTH_DAY)
.setGroup('Date');
我们也在 getConfig 中将所需的日期范围设置为 true:
function getConfig(request) {
var cc = DataStudioApp.createCommunityConnector();
var config = cc.getConfig();
config.newInfo()
.setId('instructions')
.setText('Use the date range to specify what activities to return.');
config.setDateRangeRequired(true);
return config.build();
}
这里是getSchema(),基本上都是从codelab中抄袭的
function getSchema(request) {
var fields = getFields(request).build();
return { schema: fields };
}
function getFields(request) {
var cc = DataStudioApp.createCommunityConnector();
var fields = cc.getFields();
var types = cc.FieldType;
var aggregations = cc.AggregationType;
fields.newDimension()
.setId('id')
.setType(types.NUMBER);
fields.newDimension()
.setId('owner_id')
.setType(types.NUMBER);
fields.newDimension()
.setId('subject')
.setType(types.TEXT);
fields.newDimension()
.setId('medium')
.setType(types.TEXT);
fields.newDimension()
.setId('date_logged')
.setType(types.YEAR_MONTH_DAY);
fields.newDimension()
.setId('date_started')
.setType(types.YEAR_MONTH_DAY);
fields.newDimension()
.setId('date_ended')
.setType(types.YEAR_MONTH_DAY);
fields.newMetric()
.setId('billable')
.setType(types.NUMBER)
.setAggregation(aggregations.SUM);
fields.newMetric()
.setId('nonbillable')
.setType(types.NUMBER)
.setAggregation(aggregations.SUM);
fields.newMetric()
.setId('time_allocation')
.setType(types.NUMBER)
.setAggregation(aggregations.SUM);
fields.newMetric()
.setId('scheduled_duration')
.setType(types.NUMBER)
.setAggregation(aggregations.SUM);
return fields;
}
干杯。
【问题讨论】: