自 BigQuery 中 Google Analytics userID 上次会话以来的天数?

Days since last session by Google Analytics userID in BigQuery?

我需要获取自上次会话以来 我们的用户,由用户 ID 标识。

注意:有类似的问题(here & )但没有明确的答案。

We are sending the userid as a custom dimension with index 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