我试图将自定义维度添加到我的一个工会中,但我遇到了标量子查询产生多个元素的问题。我相信问题出在这段代码中。我正在尝试迁移到标准 SQL,所以请用标准 SQL 给出答案。
SELECT
d.value
FROM
UNNEST(hits) AS hits,
UNNEST(hits.customDimensions) AS d
WHERE
d.index = 65) AS viewID,
查询的整体示例
#standardSQL
SELECT
date,
channelGrouping,
viewID,
SUM(Revenue) Revenue,
SUM(Shipping) Shipping,
SUM(bounces) bounces,
SUM(transactions) transactions,
COUNT(date) sessions
FROM (
SELECT
date,
channelGrouping,
'XXXXXXXXX' AS viewID,
totals.totaltransactionrevenue / 1e6 Revenue,
(
SELECT
SUM(hits.transaction.transactionshipping) / 1e6
FROM
UNNEST(hits) hits) Shipping,
totals.bounces bounces,
totals.transactions transactions
FROM
`XXXXXXXXX.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170625'
AND '20170703'
UNION ALL
SELECT
date,
channelGrouping,
'XXXXXXXXX' AS viewID,
totals.totaltransactionrevenue / 1e6 Revenue,
(
SELECT
SUM(hits.transaction.transactionshipping) / 1e6
FROM
UNNEST(hits) hits) Shipping,
totals.bounces bounces,
totals.transactions transactions
FROM
`XXXXXXXXX.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170625'
AND '20170703'
UNION ALL
SELECT
date,
channelGrouping,
(
SELECT
d.value
FROM
UNNEST(hits) AS hits,
UNNEST(hits.customDimensions) AS d
WHERE
d.index = 65) AS viewID,
totals.totaltransactionrevenue / 1e6 Revenue,
(
SELECT
SUM(hits.transaction.transactionshipping) / 1e6
FROM
UNNEST(hits) hits) Shipping,
totals.bounces bounces,
totals.transactions transactions
FROM
`XXXXXXXXX.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170625'
AND '20170703'
UNION ALL
SELECT
date,
channelGrouping,
'XXXXXXXXX' AS viewID,
totals.totaltransactionrevenue / 1e6 Revenue,
(
SELECT
SUM(hits.transaction.transactionshipping) / 1e6
FROM
UNNEST(hits) hits) Shipping,
totals.bounces bounces,
totals.transactions transactions
FROM
`XXXXXXXXX.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170625'
AND '20170703'
UNION ALL
SELECT
date,
channelGrouping,
'XXXXXXXXX' AS viewID,
totals.totaltransactionrevenue / 1e6 Revenue,
(
SELECT
SUM(hits.transaction.transactionshipping) / 1e6
FROM
UNNEST(hits) hits) Shipping,
totals.bounces bounces,
totals.transactions transactions
FROM
`XXXXXXXXX.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170625'
AND '20170703' )
GROUP BY
date,
channelGrouping,
viewID