Мы используем запрос, аналогичный приведенному ниже, для отчета.
SELECT
visitId AS visitId,
hits.hitNumber AS hits_hitNumber,
hits.time AS hits_time,
hits.page.pagePath AS hits_page_pagePath,
-- hit scope custom dimensions
(SELECT value from hits.customDimensions where index=1) AS CD1,
(SELECT value from hits.customDimensions where index=2) AS CD2,
-- user and session level custom dimensions
(SELECT value from sessions.customDimensions where index=3) AS CD3
FROM `ga_sessions_20191031` AS sessions, UNNEST(hits) as hits
ORDER BY visitId, hits_hitNumber
LIMIT 50
. В запросе используется нестинг для выравнивания некоторых пользовательских измерений. Однако значения индекса жестко закодированы в запросе. Таким образом, каждый раз, когда определяется новое пользовательское измерение, запрос должен обновляться. Можно ли использовать подзапрос, чтобы выбрать все доступные отдельные значения индекса и динамически добавить их в запрос?
РЕДАКТИРОВАТЬ:
Следующие запросы предоставляют различные значения индекса: Есть ли способ связатьих в первом запросе?
(область действия)
SELECT
DISTINCT cds.index as hit_cd_index
FROM `ga_sessions_20191031` AS sessions, UNNEST(hits) as hits, UNNEST(hits.customDimensions) as cds
ORDER BY hit_cd_index
(область действия пользователя и сеанса)
SELECT
DISTINCT session_cds.index as session_cd_index
FROM `ga_sessions_20191031`, UNNEST(customDimensions) as session_cds
ORDER BY session_cd_index asc