【问题标题】:How can I get my Community Connector to trigger a "Date Range Dimension" in Datastudio?如何让我的社区连接器在 Datastudio 中触发“日期范围维度”?
【发布时间】: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;
}

干杯。

【问题讨论】:

    标签: google-data-studio


    【解决方案1】:

    如果调用config.setDateRangeRequired(true),则日期范围维度选择器将不可见。这是由于所需日期范围的工作方式。

    如果您的数据源对图表具有不同的日期范围(选择器的用途)有意义,那么您应该设置config.setDateRangeRequired(false),然后选择器就会出现。

    【讨论】:

      【解决方案2】:

      您不必检查是否选择了日期范围。如果未选择数据范围,则默认为 1 个月的日期范围。因此,您可以将开始和结束日期保存到变量中。

      var sinceDate = request.dateRange.startDate;
      var untilDate = request.dateRange.endDate;
      

      为了以后更好地理解,您可以随时使用 console.log(request) 并查看请求的内容。

      【讨论】:

        猜你喜欢
        • 2020-10-27
        • 2020-09-19
        • 2020-12-17
        • 1970-01-01
        • 1970-01-01
        • 2013-09-04
        • 1970-01-01
        • 2015-05-24
        • 2018-08-07
        相关资源
        最近更新 更多