Data Studio中自定义查询中的无效日期错误

时间:2019-10-21 07:22:00

标签: google-bigquery google-data-studio

我正在尝试使用Data Studio中的自定义查询(BigQuery)准备图表。但是,使用Data Studio日期参数@DS_START_DATE@DS_END_DATE时出现无效的日期错误。这是我的查询

SELECT cat_tbl.*,tag.Category_name 
FROM 
   (SELECT 
     (SELECT category FROM UNNEST(ana_cat) ORDER BY score DESC LIMIT 1) AS category,
     * 
   FROM `projectId.dataset.table1`) AS cat_tbl  
   RIGHT JOIN `projectId.dataset.table2` AS tag 
     ON cat_tbl.category=tag.Category_id
WHERE DATE(cat_tbl.date) BETWEEN @DS_START_DATE AND @DS_END_DATE

cat_tbl.dateDATETIME字段。 运行此命令时出现以下错误

Invalid date: '20191014'

Error ID: 853185df

我是BigQuery和Data Studio的新手,任何建议都会对您有所帮助。

1 个答案:

答案 0 :(得分:2)

如果您查看the Data Studio blog post中的示例,那么这些查询参数并不是真正的日期(有些令人困惑),而是格式为YYYYMMDD的字符串。因此,您需要在查询中将它们解析为日期:

SELECT cat_tbl.*,tag.Category_name 
FROM 
   (SELECT 
     (SELECT category FROM UNNEST(ana_cat) ORDER BY score DESC LIMIT 1) AS category,
     * 
   FROM `projectId.dataset.table1`) AS cat_tbl  
   RIGHT JOIN `projectId.dataset.table2` AS tag 
     ON cat_tbl.category=tag.Category_id
WHERE DATE(cat_tbl.date)
    BETWEEN PARSE_DATE('%Y%m%d', @DS_START_DATE) AND
    PARSE_DATE('%Y%m%d', @DS_END_DATE)