2017-10-18 10 views
0

표준 SQL을 사용하고 GA 내보내기를 BigQuery 날짜 파티션 테이블 (ga_sessions_YYYYMMDD)에 쿼리하여 GA 수량 메트릭 (ga : itemQuantity)을 복제하려고합니다.ga : itemQuantity in ga_sessions_YYYMMDD (큰 쿼리)

나는 다음을 시도했지만, '양이'항상 널 :

#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; 

다른 메트릭 그래서 나는 그것이 데이터 내보내기 문제가 아니에요 가정하고있는 GA UI 작업과 100 % 일치합니다. 예 :

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 쿼리는 무엇입니까?

+0

를? –

+0

나는 그것을 시도했지만 아래의 쿼리로 반환 된 값으로 끝났지 만 GA 웹 UI의 메트릭 "수량"과 일치하지 않습니다. (정확히 h.productQuantity), d 에서 (정확히 h.product, 날짜'd는 으로부터 'exact-armor-133520.1500218.ga_sessions_201710 *' , UNNEST (히트)는 h ) UNNEST (제품) as p로 그룹에 의해 주문에 의해 오름차순 –

답변

0

, 다음과 같은 표준 SQL 사용 :`hits.product.productQuantity` 작동하는지 궁금

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 
0

이 방법이 유용합니까? 당신이 제품 필드를 unnest 관리 방법

#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 

확실하지, 아마이 문제를 해결합니다. 각 날짜별로 GA의 웹 UI에 "수량"과 일치하기 위해