【问题标题】:Google BigQuery returns same value for visiId and visitStartTimeGoogle BigQuery 为 visiId 和 visitStartTime 返回相同的值
【发布时间】:2016-06-06 08:46:39
【问题描述】:

我在 BigQuery 上运行了这个非常简单的查询,它返回了 visitId 值作为访问开始时间。代码如下,你也可以在这里看到截图:visitStartTime and visitId same value

SELECT visitStartTime, visitId FROM [83606741.ga_sessions_intraday_20160606] group by visitStartTime, visitId order by visitStartTime DESC;

如何让会话开始时间显示为 11:45,这两列具有相同值的原因是什么?

感谢您的回复!

【问题讨论】:

  • visitId 通常与 visitStartTime 相同,但它们可以得到不同的值,例如当用户在同一秒内启动两个不同的会话时。对于访问的开始,请务必使用 visitStartTime。

标签: google-analytics google-bigquery


【解决方案1】:

下面的函数会返回访问时间。

SELECT time(SEC_TO_TIMESTAMP(visitid)) as visit_time FROM [83606741.ga_sessions_intraday_20160606]

正如您所说,visitID 与 visitstarttime 相同。因此,visitid 不是会话的唯一引用。要创建唯一的 sessionid,您需要将其与 visitorid 连接:

concat(fullvisitorid, string(visitid)) as sessionid

【讨论】:

【解决方案2】:

如果您特别需要小时和分钟,一种方法是使用 FORMAT_UTC_USEC、HOUR 和 MINUTE 函数,如下所示。

SELECT 
FORMAT_UTC_USEC(visitStartTime * 1000000) AS time, 
HOUR(FORMAT_UTC_USEC(visitStartTime * 1000000)) AS hour, 
MINUTE(FORMAT_UTC_USEC(visitStartTime * 1000000)) AS minute
FROM ...

访问https://cloud.google.com/bigquery/query-reference#datetimefunctions了解更多详情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多