ga:itemQuantity in ga_sessions_YYYMMDD(大查询)
Posted
技术标签:
【中文标题】ga:itemQuantity in ga_sessions_YYYMMDD(大查询)【英文标题】:ga:itemQuantity in ga_sessions_YYYMMDD (Big Query) 【发布时间】:2017-10-18 18:08:06 【问题描述】:我正在尝试使用标准 SQL 复制 GA 数量指标 (ga:itemQuantity),并将 GA 导出查询到 BigQuery 日期分区表 (ga_sessions_YYYYMMDD)。
我尝试了以下方法,但“数量”始终为空:
#standardSQL
SELECT
sum(hit.item.itemQuantity) as quantity
FROM `precise-armor-133520.1500218.ga_sessions_20170801` t
CROSS JOIN
UNNEST(t.hits) AS hit
order by 1 ASC;
其他指标正常工作,并且 100% 与 GA UI 匹配,所以我假设这不是数据导出问题。例如:
SELECT
sum( totals.totalTransactionRevenue ) as revenue, sum( totals.transactions ) as transactions
FROM `precise-armor-133520.1500218.ga_sessions_201708*` t
CROSS JOIN
UNNEST(t.hits) AS hit
group by `date`
order by `date` asc
这些总计分别与 GA UI 中的收入和交易(指标)相匹配。
GA 度量数量 (ga:itemQuantity) 的标准 SQL 查询是什么?
【问题讨论】:
我想知道hits.product.productQuantity
是否有效?
我也尝试过,并以至少一个返回值与下面的查询结束,但是它与 GA Web UI 中的度量“数量”不匹配。 SELECT sum(p.productQuantity),d from (SELECT h.product, date
as d FROM precise-armor-133520.1500218.ga_sessions_201710*
, UNNEST(hits) as h), UNNEST(product) as p group by d order by d asc
【参考方案1】:
为了按每个日期匹配 GA 网页 UI 中的“数量”,请使用以下标准 SQL:
SELECT
SUM(product.productQuantity)
,`date`
FROM
`precise-armor-133520.1500218.ga_sessions_*`
,UNNEST(hits) AS hits
,UNNEST(hits.product) AS product
WHERE hits.eCommerceAction.action_type = "6"
and _TABLE_SUFFIX between '20170801' and FORMAT_DATE("%Y%m%d", CURRENT_DATE)
group by 2
order by 2 asc
【讨论】:
您对 Big Query 中的字段项数量有任何线索吗?在来到这里并找到这个拯救生命的问题之前,我已经浪费了几个小时试图弄清楚。【参考方案2】:这行得通吗?
#standardSQL
SELECT
sku,
SUM(qtd) qtd
FROM(
SELECT
ARRAY(SELECT AS STRUCT productSKU sku, productQuantity qtd FROM UNNEST(hits), UNNEST(product) WHERE ecommerceAction.action_type = '6') data
FROM `precise-armor-133520.1500218.ga_sessions_20170801`
),
UNNEST(data)
GROUP BY sku
ORDER BY qtd DESC
LIMIT 1000
不确定您是如何管理unnest
产品字段的,也许这可以解决您的问题。
【讨论】:
以上是关于ga:itemQuantity in ga_sessions_YYYMMDD(大查询)的主要内容,如果未能解决你的问题,请参考以下文章
IN610/IN610L/IN612替代NRF52832/NRF52840
/usr/include/netinet/in.h:138:注意:候选人是:in_addr& in_addr::operator=(const in_addr&)