Google bigquery 将Google Data Studio社区连接器与BigQuery一起使用时出现时间戳查询问题

Google bigquery 将Google Data Studio社区连接器与BigQuery一起使用时出现时间戳查询问题,google-bigquery,google-data-studio,Google Bigquery,Google Data Studio,我遇到了一个问题,Google Data Studio将错误的时间戳数据发送到我的社区连接器,因此当我尝试筛选某个日期时,会出现错误。我有两个名为TIMESTAMP和created_at的BigQuery时间戳类型字段,它们都被传递到我的社区连接器而不需要修改。一旦我将日期过滤器添加到报告中,以便执行时间序列或常规过滤,如下所示: 然后,我在BigQuery项目历史记录中查看的连接器中的查询开始失败,如下所示: 无法将文字20200825强制转换为在[1:677]处键入时间戳 BigQuery中

我遇到了一个问题,Google Data Studio将错误的时间戳数据发送到我的社区连接器,因此当我尝试筛选某个日期时,会出现错误。我有两个名为TIMESTAMP和created_at的BigQuery时间戳类型字段,它们都被传递到我的社区连接器而不需要修改。一旦我将日期过滤器添加到报告中,以便执行时间序列或常规过滤,如下所示:

然后,我在BigQuery项目历史记录中查看的连接器中的查询开始失败,如下所示:

无法将文字20200825强制转换为在[1:677]处键入时间戳

BigQuery中的查询如下所示:


选择t0.created_at,SUMt0.sum_metric作为t0_qt_1z4br3iwbc,从data_name.table_name中选择field1、field2、field3,其中2中的用户标识符为t0,其中t0.created_at>='20200825'和t0.created_at好的,我解决了这个问题。在社区连接器中,您需要将以下内容添加到配置中:

config.setDateRangeRequiredtrue

这将在getData请求中发送startDate和endDate参数,默认为28天。在getData中访问它们,如下所示:

然后根据需要在查询中使用它们

作为旁注,如果要在Google Data Studio中存储时间戳字段并制作社区连接器,则需要设置一个计算字段,以便报告适当地处理它,以显示人类可读的日期,而不是时间戳。我首先将timestamp字段作为字符串从数据库中读取,比如:STRINGtimestamp,“UTC”作为时间戳,然后使用该值创建维度。这是在模式中完成的,如下所示:如果字段不同,则使用适合您的字段的解析:

fields.newDimension()
  .setId('date_timestamp')
  .setName('date_timestamp')
  .setDescription('Timestamp as a date.')
  .setFormula("TODATE($timestamp, '%Y-%m-%d %H:%M:%S%z', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)

我试图删除“created_at”字段,所以我只有一个时间戳,但它不起作用。请注意,当日期以连字号(如:2020-08-25)表示时,同样的查询也会起作用
fields.newDimension()
  .setId('date_timestamp')
  .setName('date_timestamp')
  .setDescription('Timestamp as a date.')
  .setFormula("TODATE($timestamp, '%Y-%m-%d %H:%M:%S%z', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)