我在BigQuery中有一个数据集,并且将其用作在Data Studio上创建报表的来源。
我可以使用“时间戳记”作为维度并将其他数字字段作为度量标准,将数据绘制为时间序列/组合/折线图。
我的问题是,由于准确度降低到一个小时,而我却需要一分钟的精确度,所以我能获得的最多。 BigQuery中的数据集的精度为毫秒,但我似乎无法在Data Studio中获得它。
我已经阅读了有关创建带有日期的字符串并将其用作度量标准,或者提取并组合分钟字段的简短建议,但是我似乎无法使其工作。
答案 0 :(得分:0)
您可以使用以下查询创建表格视图:
SELECT
t.*,
FORMAT_TIMESTAMP("%Y-%m-%d %H:%M", t.timestamp) as date_time
FROM
`project-id.dataset-id.table-id` AS t
创建此类视图后,您可以将该视图添加为数据源,并在时间序列中使用字段date_time
答案 1 :(得分:0)
在BigQuery中,TRUNCATE
乘MINUTE
和GROUP BY
。然后在Data Studio中将此时间戳记设置为STRING
而不是DATE
的值。创建一个带有此时间戳STRING
作为X
维的折线图,瞧。
对此进行查询:
WITH data AS (
SELECT bus, ST_GeogPoint(longitude, latitude) point
, PARSE_TIMESTAMP('%Y%m%d %H%M%S',FORMAT('%i %06d', day, time)) ts
FROM `fh-bigquery.mta_nyc_si.201410_bustime`
WHERE day=20141014
AND bus IN (7043, 7086, 7076, 2421, 7052, 7071)
)
SELECT bus, TIMESTAMP_TRUNC(ts, MINUTE) ts, AVG(distance/time) speed
FROM (
SELECT bus, ts
, ST_DISTANCE(point, LAG(point, 3) OVER(PARTITION BY bus ORDER BY ts)) distance
, TIMESTAMP_DIFF(ts, LAG(ts, 3) OVER(PARTITION BY bus ORDER BY ts), SECOND) time
FROM data
)
WHERE time IS NOT null
GROUP BY bus, ts
HAVING speed < 500