检索一个产品的多个 Google 分析行是一个产品范围的 customDimension 值在 Google 大查询中不同
Retrieving multiple Google Analytics rows for one product were a product scoped customDimension value differ in Google Big Query
我有以下 Google 分析数据:
GA字段说明:
产品是 hits.product.v2ProductName
ProductSKU 是 hits.product.productSKU
产品长 SKU (CD) 是产品范围维度,索引为 13。
示例数据:
产品、产品 SKU、产品长 SKU (CD)
Liadalen turbukse 女士,307500,10223990074006
Liadalen turbukse 女士,307500,10223990001009
Liadalen turbukse 女士,307500,10223990074010
使用下面的查询(受YUHUI启发)我只能获得一行是具有最大Product Long SKU(CD)的MAX行。我无法全神贯注地思考如何在 BQ 中生成与我上面的示例一样的三行中的确切数据,但产品长 SKU (CD) 是变体吗?
SELECT
p.productSKU,
p.v2ProductName,
MAX(IF(pcd.index = 13,
pcd.value,
NULL)) AS productCustomDimension13
FROM
`59546646.ga_sessions_*`
LEFT JOIN UNNEST(customDimensions) AS cd
LEFT JOIN UNNEST(hits) AS h
LEFT JOIN UNNEST(h.customDimensions) AS hcd
LEFT JOIN UNNEST(h.product) AS p
LEFT JOIN UNNEST(p.customDimensions) AS pcd
WHERE
_table_suffix BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-04-01')) AND FORMAT_DATE('%Y%m%d', DATE('2020-05-01'))
AND h.eCommerceAction.action_type = "6"
AND p.v2ProductName = "Liadalen turbukse dame"
GROUP BY
p.productSKU,
p.v2ProductName
ORDER BY
p.v2ProductName
我不知道你想要的确切输出,但如果你只想列出产品,你可以使用该查询:
SELECT
p.productSKU,
p.v2ProductName,
(SELECT pcd.value FROM UNNEST(p.customDimensions) pcd where pcd.index = 13) AS productCustomDimension13
FROM `59546646.ga_sessions_*`
LEFT JOIN UNNEST(hits) AS h
LEFT JOIN UNNEST(h.product) AS p
WHERE
_table_suffix BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-04-01')) AND FORMAT_DATE('%Y%m%d', DATE('2020-05-01'))
AND h.eCommerceAction.action_type = "6"
AND p.v2ProductName = "Liadalen turbukse dame"
GROUP BY 1,2,3
ORDER BY p.v2ProductName
如果没有任何聚合,可以删除group by,在select语句后添加distinct。
此外,根据您的需要,您应该 add/remove 取消嵌套语句。
我有以下 Google 分析数据:
GA字段说明:
产品是 hits.product.v2ProductName
ProductSKU 是 hits.product.productSKU
产品长 SKU (CD) 是产品范围维度,索引为 13。
示例数据:
产品、产品 SKU、产品长 SKU (CD)
Liadalen turbukse 女士,307500,10223990074006
Liadalen turbukse 女士,307500,10223990001009
Liadalen turbukse 女士,307500,10223990074010
使用下面的查询(受YUHUI启发)我只能获得一行是具有最大Product Long SKU(CD)的MAX行。我无法全神贯注地思考如何在 BQ 中生成与我上面的示例一样的三行中的确切数据,但产品长 SKU (CD) 是变体吗?
SELECT
p.productSKU,
p.v2ProductName,
MAX(IF(pcd.index = 13,
pcd.value,
NULL)) AS productCustomDimension13
FROM
`59546646.ga_sessions_*`
LEFT JOIN UNNEST(customDimensions) AS cd
LEFT JOIN UNNEST(hits) AS h
LEFT JOIN UNNEST(h.customDimensions) AS hcd
LEFT JOIN UNNEST(h.product) AS p
LEFT JOIN UNNEST(p.customDimensions) AS pcd
WHERE
_table_suffix BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-04-01')) AND FORMAT_DATE('%Y%m%d', DATE('2020-05-01'))
AND h.eCommerceAction.action_type = "6"
AND p.v2ProductName = "Liadalen turbukse dame"
GROUP BY
p.productSKU,
p.v2ProductName
ORDER BY
p.v2ProductName
我不知道你想要的确切输出,但如果你只想列出产品,你可以使用该查询:
SELECT
p.productSKU,
p.v2ProductName,
(SELECT pcd.value FROM UNNEST(p.customDimensions) pcd where pcd.index = 13) AS productCustomDimension13
FROM `59546646.ga_sessions_*`
LEFT JOIN UNNEST(hits) AS h
LEFT JOIN UNNEST(h.product) AS p
WHERE
_table_suffix BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-04-01')) AND FORMAT_DATE('%Y%m%d', DATE('2020-05-01'))
AND h.eCommerceAction.action_type = "6"
AND p.v2ProductName = "Liadalen turbukse dame"
GROUP BY 1,2,3
ORDER BY p.v2ProductName
如果没有任何聚合,可以删除group by,在select语句后添加distinct。 此外,根据您的需要,您应该 add/remove 取消嵌套语句。