google-analytics - BigQuery 中 Google Analytics 用户 ID 自上次会话以来的天数?
问题描述
我需要获取自上次用户会话以来的天数,这些天数由用户 ID 标识。
我们将
userid
作为自定义维度发送,索引为 2。
我收到此错误:
Cannot access field value on a value with type ARRAY<STRUCT<index INT64, value STRING>> at [2:22]
询问:
SELECT
customDimensions.value,
TIMESTAMP_SECONDS(MAX(visitStartTime)) AS LastSesion,
CURRENT_TIMESTAMP() AS toDay,
TIMESTAMP_DIFF(CURRENT_TIMESTAMP(),TIMESTAMP_SECONDS(MAX(visitStartTime)), DAY) AS daysSinceLastSession
FROM
`ga-360-tvgo.76246634.ga_sessions_*`
GROUP BY
1
截屏:
解决方案
您不能按数组分组。您需要从数组中选择一个值或以某种方式聚合它 - 您可以使用unnest()
在数组上运行 SQL,例如:
SELECT
(SELECT value FROM UNNEST(customDimensions) WHERE index=2) AS userId,
TIMESTAMP_SECONDS(MAX(visitStartTime)) AS LastSesion,
CURRENT_TIMESTAMP() AS toDay,
TIMESTAMP_DIFF(CURRENT_TIMESTAMP(),TIMESTAMP_SECONDS(MAX(visitStartTime)), DAY) AS daysSinceLastSession
FROM
`ga-360-tvgo.76246634.ga_sessions_*`
GROUP BY
1
推荐阅读
- wordpress - 处理 WordPress 3rd 方插件管理页面 HTML
- c# - 如何将 curl“--user”命令转换为 Restsharp?
- android - 无法解释或解决 XML 中的片段元素的问题
- swift - 使用 Swift 同步访问 Firebase Cloud Firestore
- microsoft-cognitive - 使用 Azure 文本翻译 API 时如何处理限制?
- angular - 列表中的行编辑
- django - 我的 ajax 发布请求被 django 禁止 403
- r - 根据值ggplot2重新排序堆积条形图中的变量
- java - OpenGL ES Android 奇怪的投影
- angular - 嵌套反应形式数组问题(Angular 7)