我正在尝试为连接到 Google BigQuery 的 tableau 仪表板构建查询。我们有每个月数据的表格,但我想在任何给定时间显示过去 30 天的数据(因此它必须跨多个表格)。我当前的查询给出了错误“需要时间戳文字或显式转换为时间戳。” 我一直在寻找有关如何转换为时间戳的帮助,但没有找到任何有用的信息。这是我的代码。
SELECT
DATE(date_time) AS date,
FROM
TABLE_QUERY(myTable, "date(concat(left(table_id,4),'-',right(table_id,2),'-','01')) >= '2017-06-01'")
WHERE
DATE(date_time) >= DATE_ADD(day,-30, current_date())
and DATE(date_time) <= current_date()
ORDER BY
date
Run Code Online (Sandbox Code Playgroud)
任何有关如何使其工作的帮助将不胜感激。
注意:我们使用的是旧版 SQL
我在 BigQuery 中匹配正则表达式时遇到问题。我有以下代码行试图识别用户代理:
when regexp_contains((cs_user_agent), '^AppleCoreMedia\/1\.(.*)iPod') then "iOS App - iPod"
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,BigQuery 似乎不喜欢转义序列,并且出现了我无法弄清楚的错误:
Syntax error: Illegal escape sequence: \/ at [4:63]
Run Code Online (Sandbox Code Playgroud)
这段代码在我使用的正则表达式验证器中运行良好,但 BigQuery 对它不满意,我不知道为什么。在此先感谢您的帮助