我正在尝试使用BigQuery标准SQL语法从自定义维度中正确提取在我们的GA属性上用户级别配置的值。事实是,如果我查询盘中表或最终表(第二天),则对于同一用户的查询输出是不同的。
我使用的查询(在最终确定的选项卡中)针对以下特定用户/ fullvisitorID:
SELECT
date AS SYSTEM_DATE,
fullVisitorId AS SYSTEM_FULL_VISITOR_ID,
visitNumber AS VISIT_NUMBER,
h.hitNumber AS HIT_NUMBER,
h.type AS HIT_TYPE,
(SELECT MAX(IF(index=21, value, NULL)) FROM UNNEST(TAB.customDimensions)) AS ACCOUNTABILITY_USER,
(SELECT MAX(IF(index=21, value, NULL)) FROM UNNEST(h.customDimensions)) AS ACCOUNTABILITY_HIT,
(SELECT MAX(IF(index=139, value, NULL)) FROM UNNEST(TAB.customDimensions)) AS CLIENT_ID_USER,
(SELECT MAX(IF(index=139, value, NULL)) FROM UNNEST(h.customDimensions)) AS CLIENT_ID_HIT
FROM
`120802443.ga_sessions_20180828` AS TAB, UNNEST(hits) as h
WHERE
fullVisitorId = '1000364383752456130'
ORDER BY 1,2,3,4
其中CDU = 21和CDU = 139是在我们的媒体资源中使用用户范围配置的两个自定义维度。每日表和日内表之间的查询相同,将 ga_sessions_20180828 替换为 ga_sessions_intraday_20180828 。
查询的目标是:
查询的输出可以在以下两个图像中看到: INTRADAY table query FINAL DAY table query
对于日内表,输出是我期望的结果:我仅在某些匹配中填充自定义维度,并且值在会话/用户级别正确传播。
相反,最终日表上的查询输出完全被弄乱了:我仍然看到填充自定义维度的匹配,但这些值不会在会话/用户级别传播。
我在做什么错了?