2017-12-29 5 views
0

맞춤 측정 기준 값 및 날짜를 ​​기준으로 자격이있는 신규 사용자 및 사용자 수를 얻으려고합니다. 여기에 코드가 있습니다. 하지만 Google 애널리틱스에서 데이터를 가져올 수 없습니다. 문제는 UNNEST가 중복을 작성하고 total.newVisits가 다른 입도에 있다고 생각합니다. 고맙습니다!사용자 지정 차원을 사용하여 Google Big Query를 사용하여 새로운 사용자 수 및 사용자 수를 얻으십시오.

SELECT 
     PARSE_DATE('%Y%m%d', t.date) as Date 
     ,count(distinct(FullvisitorID)) as visitor_count 
     ,sum(totals.newVisits) AS New_Visitors 
     ,if(customDimensions.index=2, customDimensions.value,null) as orig 
    FROM `table` as t 
     CROSS JOIN UNNEST(hits) AS hit 
     CROSS JOIN UNNEST(hit.customDimensions) AS customDimensions 
    WHERE 
     date='20170101' 

GROUP BY DATE,if(customDimensions.index=2, customDimensions.value,null) 

enter image description here

답변

2

대신을 시도해보십시오

SELECT 
    PARSE_DATE('%Y%m%d', date) AS Date, 
    COUNT(DISTINCT fullvisitorid) visitor_count, 
    SUM(totals.newVisits) AS New_Visitors, 
    (SELECT value FROM UNNEST(hits), UNNEST(customDimensions) WHERE index = 2 LIMIT 1) orig 
FROM `dataset_id.ga_sessions_20170101` 
GROUP BY Date, orig 

그것은 기본적으로 같은 일이 대신 외부 쿼리에 UNNEST을하는이 솔루션은 피할 수 hit 수준에서이 작업을 적용 귀하의 질문에 귀하가 발견 한 totals.newVisits 복제본.

+0

안녕하세요 윌리엄, 도와 주셔서 감사합니다. 그러나, 나는 새로운 방문자 계정 및 방문자 수는 아직도 중복하고 있다고 생각한다. 쿼리를 사용하여 결과를 확인했지만 숫자는 여전히 GA보다 큽니다. 내가 사용한 GA 인터페이스를 첨부했습니다. 고맙습니다!!! – Rachel

+0

흠. 이상 하네. 내가 제안한 질의에 관해서는 중복이 일어날 수있는 곳이 없다. 조지아 보고서에서 예상대로 건설 중인지 확인하기 위해 정성 검사를 실행할 수 있습니다. 'visitor_count'는 인스턴스 수만큼 중복 될 수 없기 때문에 중복 될 수 없습니다 (최종 결과가 얼마나되는지간에 최종 결과는 동일합니다) –

+0

사용자 방문에 여러 dimension.index-2 값이있을 가능성이 있습니까? 따라서 합계를 계산할 때 사용자는 여러 번 계산되지만 값은 다릅니 까? – Rachel

관련 문제