Google analytics BigQuery中Google Analytics用户ID上次会话后的天数?

Google analytics BigQuery中Google Analytics用户ID上次会话后的天数?,google-analytics,google-bigquery,Google Analytics,Google Bigquery,我需要获取用户自上次会话以来的天数,这些天数由userid标识 注意:也有类似的问题&但没有辩护性的回答 我们将用户ID作为索引为2的自定义维度发送 我得到了这个错误: Cannot access field value on a value with type ARRAY<STRUCT<index INT64, value STRING>> at [2:22] 截图: 不能按数组分组。您需要从数组中选择一个值或以某种方式聚合它-您可以使用unnest在数组上运行SQL

我需要获取用户自上次会话以来的天数,这些天数由userid标识

注意:也有类似的问题&但没有辩护性的回答

我们将用户ID作为索引为2的自定义维度发送

我得到了这个错误:

Cannot access field value on a value with type ARRAY<STRUCT<index INT64, value STRING>> at [2:22]
截图:


不能按数组分组。您需要从数组中选择一个值或以某种方式聚合它-您可以使用unnest在数组上运行SQL,例如:

选择 从UNNESTcustomDimensions中选择值,其中index=2作为用户ID, 时间戳\u secondsMaxvistStartTime作为最后一次, 与今天相同的当前时间戳, 时间戳\u DIFFCURRENT\u时间戳,时间戳\u secondsMaxvistStartTime,days AS days上次会话 从…起 `ga-360-tvgo.76246634.ga_课程_*` 分组 1.
因此,您可以访问父对象customDimensions,取消对它的测试,按索引==2进行筛选,然后获取值。我试图使用customDimensions.value直接访问属性值。我不知道你不应该那样做。Ty.unnest将数组转换为表格式。数组中是unnest转换为列的结构。每件事都发生在侧面,即每行。
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